import React from 'react'; import { FlatListProps, StyleProp, ViewStyle, TextStyle, ImageStyle } from 'react-native'; import { IConversationItemProps } from './components/ConversationItem'; import { ISearchBarProps } from './components/SearchBar'; import type { ConversationProps } from '../interfaces'; type ListItem = { item: ConversationProps; index: number; }; export interface ISearchBarStyleProps { /** Style for the search bar container */ searchBarContainerStyle?: StyleProp; /** Style for the search input */ searchBarInputStyle?: StyleProp; /** Style for the clear icon */ searchBarClearIconStyle?: StyleProp; } /** Props managed internally by ListConversationScreen - these cannot be overridden */ type ManagedFlatListProps = 'data' | 'renderItem' | 'keyExtractor'; export interface IListConversationProps extends ISearchBarStyleProps, Omit, ManagedFlatListProps> { /** Whether to show the search bar */ hasSearchBar?: boolean; /** Placeholder text for search input */ searchPlaceholder?: string; /** Debounce delay in milliseconds for search (default: 300ms) */ searchDebounceDelay?: number; /** Custom search bar props (excluding value and onChangeText which are managed internally) */ searchBarProps?: Omit; /** Callback when a conversation is pressed */ onPress?: (conversation: ConversationProps) => void; /** Custom render function for conversation items */ renderCustomItem?: ({ item, index }: ListItem) => React.JSX.Element | null; /** Props for the default ConversationItem component */ conversationItemProps?: Omit; /** Custom loading indicator component */ renderLoadingIndicator?: () => React.JSX.Element; } export declare const ListConversationScreen: React.FC; export {}; //# sourceMappingURL=ListConversationScreen.d.ts.map