import { HTMLAttributes } from 'react'; import { ChatListStyles } from './styles'; import { ChatObject } from '../../../interfaces'; import { ChatFormProps } from './ChatForm/props'; import { ChatCardProps } from './ChatCard/props'; export interface ChatListProps extends HTMLAttributes, ChatListStyles { chats: ChatObject[]; activeChatId?: number; username?: string; timezoneOffset?: number; isLoading?: boolean; hasMoreChats?: boolean; onChatCardClick?: (chatId: number) => Promise; onChatFormSubmit?: (title: string) => Promise; onChatLoaderShow?: () => Promise; renderChatList?: (props: ChatListProps) => JSX.Element | Element | React.FC; renderChatForm?: (props: ChatFormProps) => JSX.Element | Element | React.FC; renderChatCard?: (props: ChatCardProps) => JSX.Element | Element | React.FC; }