import {ReactNode} from 'react';
import {StyleProp, ViewProps, ViewStyle} from 'react-native';
import {ImageSource} from '@components/_core';

import {FooterProps} from './components/Footer/interfaces';
import {BadgeCardContainerProps} from './components/Badge/interfaces';

export interface CardContainerProps {
  children: ReactNode;
  elevation?: boolean;
  badge?: BadgeCardContainerProps;
  footer?: Omit<FooterProps, 'containerStyle'>;
  style?: StyleProp<ViewStyle>;
  onLayout?: ViewProps['onLayout'];
  imageUrl?: ImageSource;
}

export interface PressableCardContainerProps extends CardContainerProps {
  onPress: () => void;
  backgroundColor?: string;
  disabled?: boolean;
  accessibilityLabel?: string;
}

export * from './components/Badge/interfaces';
