export type ChatType = 'SINGLE' | 'GROUP' export type MsgType = | 'TEXT' | 'IMAGE' | 'VIDEO' | 'AUDIO' | 'FILE' | 'CUSTOM' | 'LOCATION' | 'NOTIFY' | 'RICH_TEXT' | 'CALL_AUDIO' | 'CALL_VIDEO' | 'REVOKED' | 'FORWARD' export type MsgStatus = 'SENT' | 'DELIVERED' | 'READ' | 'REVOKED' export interface ImMessage { id: string appId: string fromUserId: string toId: string chatType: ChatType msgType: MsgType content: string status: MsgStatus mentionedUserIds?: string createdAt: string } export interface ImEventListener { onConnected?: () => void onDisconnected?: (reason?: string) => void onMessage?: (msg: ImMessage) => void onGroupMessage?: (msg: ImMessage) => void onError?: (error: string) => void } export interface SendMessageParams { toId: string chatType: ChatType msgType: MsgType content: string mentionedUserIds?: string }