import {ReactElement} from 'react';
import {FlatListProps, ViewStyle, StyleProp} from 'react-native';

export interface FlatListLayoutProps<TData, TFormattedData = TData>
  extends FlatListProps<TFormattedData> {
  ListErrorComponent?: ReactElement;
  filterable?: boolean;
  onFilterText?: (text: string) => void;
  searchPlaceholder?: string;
  containerStyle?: StyleProp<ViewStyle>;
  formatData?: (data: ArrayLike<TData>) => ArrayLike<TFormattedData>;
  withFilterIcon?: boolean;
  onPressFilterIcon?: () => void;
  appliedFilters?: number;
  animated?: boolean;
  scrollEnabledOnEmpty?: boolean;
}
