import React, { ReactNode } from 'react'; import { HeaderProps } from '../header'; import { MessageInputProps } from '../messageInput'; import { MsgListProps } from './MessageList'; import { ChatSDK } from 'module/SDK'; import { CallKitProps } from '../callkit'; export interface RtcRoomInfo { callId: string; calleeDevId?: string; calleeIMName: string; callerDevId?: string; callerIMName: string; channel: string; confrName: string; groupId: string; groupName: string; token?: string; type: number; joinedMembers: { agoraUid: number; imUserId: string; }[]; } export interface ChatProps { prefix?: string; className?: string; style?: React.CSSProperties; renderHeader?: (cvs: { chatType: 'singleChat' | 'groupChat'; conversationId: string; name?: string; unreadCount?: number; }) => ReactNode; renderMessageList?: () => ReactNode; renderMessageInput?: () => ReactNode; renderEmpty?: () => ReactNode; renderRepliedMessage?: (repliedMessage: ChatSDK.MessageBody | null) => ReactNode; headerProps?: Omit & { suffixIcon?: ('PIN' | 'THREAD' | 'AUDIO' | 'VIDEO' | ReactNode)[]; }; messageListProps?: MsgListProps; messageInputProps?: MessageInputProps; onOpenThread?: (data: { id: string; }) => void; onOpenThreadList?: () => void; useCallkit?: boolean; callkitProps?: Partial; } declare let Chat: React.ForwardRefExoticComponent>; export { Chat };