import {FC} from 'react';
import {StyleProp, ViewStyle} from 'react-native';
import {Section} from '@interfaces/section';
import {User} from '@interfaces/user';

export type BaseUser = Pick<
  User,
  'id' | 'profilePicture' | 'firstName' | 'lastName'
>;

export interface UsersSectionListProps<T> {
  loading?: boolean;
  loadingId?: number;
  loadingMore?: boolean;
  users: Section<T>[];
  filteredUsers?: Section<T>[];
  text?: string;
  showCheckbox?: boolean;
  isChecked?: (item: T) => boolean;
  onPress?: (item: T) => void;
  usersList?: boolean;
  getMoreUsers: (page: number) => void;
  contentContainerStyle?: StyleProp<ViewStyle>;
  style?: StyleProp<ViewStyle>;
  emptyStyle?: StyleProp<ViewStyle>;
  firstHeaderComponent?: FC;
  secondHeaderComponent?: FC;
  avoidDebouncePress?: boolean;
}
