easemob-chat-uikit
Version:
   ![GitHub last c
52 lines (51 loc) • 1.61 kB
TypeScript
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<HeaderProps, 'suffixIcon'> & {
suffixIcon?: ('PIN' | 'THREAD' | 'AUDIO' | 'VIDEO' | ReactNode)[];
};
messageListProps?: MsgListProps;
messageInputProps?: MessageInputProps;
onOpenThread?: (data: {
id: string;
}) => void;
onOpenThreadList?: () => void;
useCallkit?: boolean;
callkitProps?: Partial<CallKitProps>;
}
declare let Chat: React.ForwardRefExoticComponent<ChatProps & React.RefAttributes<unknown>>;
export { Chat };