import type React from 'react'; import type { StyleProp, TextInputProps, TextStyle, ViewStyle } from 'react-native'; import type { CustomButtonProps } from '../CloseButton'; export interface FunctionProps { setFilterString: React.Dispatch>; filterString?: string; } export interface CountryPickerModalAdditionalProps { isFlagVisible?: boolean; isAlphabetsVisible?: boolean; headerSearchPlaceholder?: string; isSearchInputVisible?: boolean; renderCustomSearchInput?: ({ setFilterString, filterString, }: FunctionProps) => JSX.Element; searchHeaderInputStyle?: StyleProp; isCloseButtonVisible?: boolean; searchHeaderProps?: TextInputProps; countryListTitleStyle?: StyleProp; modalContentStyle?: StyleProp; modalContainerStyle?: StyleProp; customRowStyle?: StyleProp; customAlphabetsStyles?: StyleProp; customAlphabetContainerStyles?: StyleProp; emptyText?: string; emptyTextStyle?: StyleProp; emptyContainerStyles?: StyleProp; renderCustomEmptyComponent?: () => JSX.Element; customCloseButton?: () => JSX.Element; renderSearchInputClear?: ({ setFilterString }: FunctionProps) => JSX.Element; handleStyle?: StyleProp; handleComponent?: () => JSX.Element; } export interface CountryPickerModalProps extends CustomButtonProps, CountryPickerModalAdditionalProps { isVisible: boolean; onClose: (event: Event) => void; onSelect?: (event: Event) => void; } export interface Country { name: string; flag: string; countryInitials: string; region: string; subregion: string; callingCode: string[]; currency: string[]; }