import { InjectionKey } from 'vue'; import { MsgListItem, SessionItem } from '../types'; import { ChatSock } from '../utils/chatSock'; import { AnyObject } from '../../../../shared/types'; import { MESSAGE_TYPE, CHAT_TYPE, STATUS } from '../constants'; export declare const InjectionIChatData: InjectionKey>; export declare function initData(props: AnyObject, emit: (event: 'template-click' | 'unread-message-update' | 'session-change' | 'session-close', ...args: any[]) => void): { filterable: import("vue").Ref; trtcProxy: import("vue").Ref; token: import("vue").Ref; cssVars: import("vue").ComputedRef; stompClient: { value: ChatSock | null; }; state: { [x: string]: any; orgId: string; currentSessionItem: { id: string; sessionKey: string; receiver: string; createdTime: string; avatar: string; name: string; defaultName: string; chatType: CHAT_TYPE; roleInfo: import("../constants").ROLE_TYPE; status: STATUS; sortTime: string; topping: boolean; unreadNum: number; updatedTime: string; lastMessageContent: string; sender?: string | undefined; lastMessageId?: string | undefined; lastMessage?: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; } | undefined; lastMessageSendTime?: string | undefined; lastMessageStatus?: string | undefined; lastSenderName?: string | undefined; businessInfo?: { uiSetting?: AnyObject | undefined; topicInfo?: { [x: string]: any; param?: AnyObject | undefined; } | undefined; } | undefined; labelList?: AnyObject[] | undefined; notDisturb: boolean; }; id: string; userInfo: AnyObject; msgList: { [x: string]: any; id: string; sessionKey: string; content: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; }; senderName: string; sendTime: string; sender: string; status: string; senderAvatar: string; __content: string; __time?: string | undefined; __sendTime?: string | undefined; }[]; sessionList: { id: string; sessionKey: string; receiver: string; createdTime: string; avatar: string; name: string; defaultName: string; chatType: CHAT_TYPE; roleInfo: import("../constants").ROLE_TYPE; status: STATUS; sortTime: string; topping: boolean; unreadNum: number; updatedTime: string; lastMessageContent: string; sender?: string | undefined; lastMessageId?: string | undefined; lastMessage?: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; } | undefined; lastMessageSendTime?: string | undefined; lastMessageStatus?: string | undefined; lastSenderName?: string | undefined; businessInfo?: { uiSetting?: AnyObject | undefined; topicInfo?: { [x: string]: any; param?: AnyObject | undefined; } | undefined; } | undefined; labelList?: AnyObject[] | undefined; notDisturb: boolean; }[]; isChangeSession: boolean; isUpdateSession: boolean; currentReferenceMsg: AnyObject | null; currentReEditMsg: AnyObject | null; showVideo: boolean; currentAVMsg: AnyObject; currentGroupUser: AnyObject[]; showMultipleVideo: boolean; userDetail: { show: boolean; position: { x: number; y: number; }; userId: string; info: AnyObject | null; }; isForward: boolean; loading: boolean; }; chatMainRef: import("vue").Ref; tempState: { currentMsg: AnyObject; updateSessionItem: SessionItem; }; unreadTotal: import("vue").ComputedRef; isGroupChat: import("vue").ComputedRef; isGroupLeader: import("vue").ComputedRef; isEnded: import("vue").ComputedRef; setMsgList: (list?: AnyObject[] | MsgListItem) => void; sendMessage: (message: { chatType?: string; content: AnyObject; receiver?: string; }) => Promise; relayMessage: (param: { checkedIds: string[]; remark: string; contents: AnyObject[]; }) => Promise; setMessageLabel: (params: { type: 'emoji' | 'text'; labelItem: string | AnyObject; msgId: string; }) => void; openSession: (session: string | SessionItem) => Promise; closeSession: () => { id: string; sessionKey: string; receiver: string; createdTime: string; avatar: string; name: string; defaultName: string; chatType: CHAT_TYPE; roleInfo: import("../constants").ROLE_TYPE; status: STATUS; sortTime: string; topping: boolean; unreadNum: number; updatedTime: string; lastMessageContent: string; sender?: string | undefined; lastMessageId?: string | undefined; lastMessage?: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; } | undefined; lastMessageSendTime?: string | undefined; lastMessageStatus?: string | undefined; lastSenderName?: string | undefined; businessInfo?: { uiSetting?: AnyObject | undefined; topicInfo?: { [x: string]: any; param?: AnyObject | undefined; } | undefined; } | undefined; labelList?: AnyObject[] | undefined; notDisturb: boolean; } | null; getCurrentSession: () => { id: string; sessionKey: string; receiver: string; createdTime: string; avatar: string; name: string; defaultName: string; chatType: CHAT_TYPE; roleInfo: import("../constants").ROLE_TYPE; status: STATUS; sortTime: string; topping: boolean; unreadNum: number; updatedTime: string; lastMessageContent: string; sender?: string | undefined; lastMessageId?: string | undefined; lastMessage?: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; } | undefined; lastMessageSendTime?: string | undefined; lastMessageStatus?: string | undefined; lastSenderName?: string | undefined; businessInfo?: { uiSetting?: AnyObject | undefined; topicInfo?: { [x: string]: any; param?: AnyObject | undefined; } | undefined; } | undefined; labelList?: AnyObject[] | undefined; notDisturb: boolean; } | null; setCurrentSessionItem: (item: AnyObject) => void; setUpdateSessionItem: (item: SessionItem) => void; setSessionList: (list: SessionItem[]) => void; emit: (event: 'template-click' | 'unread-message-update' | 'session-change' | 'session-close', ...args: any[]) => void; setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void; appendMsg: () => void; scrollToBottom: () => void; }; export declare const useData: () => { filterable: import("vue").Ref; trtcProxy: import("vue").Ref; token: import("vue").Ref; cssVars: import("vue").ComputedRef; stompClient: { value: ChatSock | null; }; state: { [x: string]: any; orgId: string; currentSessionItem: { id: string; sessionKey: string; receiver: string; createdTime: string; avatar: string; name: string; defaultName: string; chatType: CHAT_TYPE; roleInfo: import("../constants").ROLE_TYPE; status: STATUS; sortTime: string; topping: boolean; unreadNum: number; updatedTime: string; lastMessageContent: string; sender?: string | undefined; lastMessageId?: string | undefined; lastMessage?: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; } | undefined; lastMessageSendTime?: string | undefined; lastMessageStatus?: string | undefined; lastSenderName?: string | undefined; businessInfo?: { uiSetting?: AnyObject | undefined; topicInfo?: { [x: string]: any; param?: AnyObject | undefined; } | undefined; } | undefined; labelList?: AnyObject[] | undefined; notDisturb: boolean; }; id: string; userInfo: AnyObject; msgList: { [x: string]: any; id: string; sessionKey: string; content: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; }; senderName: string; sendTime: string; sender: string; status: string; senderAvatar: string; __content: string; __time?: string | undefined; __sendTime?: string | undefined; }[]; sessionList: { id: string; sessionKey: string; receiver: string; createdTime: string; avatar: string; name: string; defaultName: string; chatType: CHAT_TYPE; roleInfo: import("../constants").ROLE_TYPE; status: STATUS; sortTime: string; topping: boolean; unreadNum: number; updatedTime: string; lastMessageContent: string; sender?: string | undefined; lastMessageId?: string | undefined; lastMessage?: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; } | undefined; lastMessageSendTime?: string | undefined; lastMessageStatus?: string | undefined; lastSenderName?: string | undefined; businessInfo?: { uiSetting?: AnyObject | undefined; topicInfo?: { [x: string]: any; param?: AnyObject | undefined; } | undefined; } | undefined; labelList?: AnyObject[] | undefined; notDisturb: boolean; }[]; isChangeSession: boolean; isUpdateSession: boolean; currentReferenceMsg: AnyObject | null; currentReEditMsg: AnyObject | null; showVideo: boolean; currentAVMsg: AnyObject; currentGroupUser: AnyObject[]; showMultipleVideo: boolean; userDetail: { show: boolean; position: { x: number; y: number; }; userId: string; info: AnyObject | null; }; isForward: boolean; loading: boolean; }; chatMainRef: import("vue").Ref; tempState: { currentMsg: AnyObject; updateSessionItem: SessionItem; }; unreadTotal: import("vue").ComputedRef; isGroupChat: import("vue").ComputedRef; isGroupLeader: import("vue").ComputedRef; isEnded: import("vue").ComputedRef; setMsgList: (list?: AnyObject[] | MsgListItem) => void; sendMessage: (message: { chatType?: string; content: AnyObject; receiver?: string; }) => Promise; relayMessage: (param: { checkedIds: string[]; remark: string; contents: AnyObject[]; }) => Promise; setMessageLabel: (params: { type: 'emoji' | 'text'; labelItem: string | AnyObject; msgId: string; }) => void; openSession: (session: string | SessionItem) => Promise; closeSession: () => { id: string; sessionKey: string; receiver: string; createdTime: string; avatar: string; name: string; defaultName: string; chatType: CHAT_TYPE; roleInfo: import("../constants").ROLE_TYPE; status: STATUS; sortTime: string; topping: boolean; unreadNum: number; updatedTime: string; lastMessageContent: string; sender?: string | undefined; lastMessageId?: string | undefined; lastMessage?: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; } | undefined; lastMessageSendTime?: string | undefined; lastMessageStatus?: string | undefined; lastSenderName?: string | undefined; businessInfo?: { uiSetting?: AnyObject | undefined; topicInfo?: { [x: string]: any; param?: AnyObject | undefined; } | undefined; } | undefined; labelList?: AnyObject[] | undefined; notDisturb: boolean; } | null; getCurrentSession: () => { id: string; sessionKey: string; receiver: string; createdTime: string; avatar: string; name: string; defaultName: string; chatType: CHAT_TYPE; roleInfo: import("../constants").ROLE_TYPE; status: STATUS; sortTime: string; topping: boolean; unreadNum: number; updatedTime: string; lastMessageContent: string; sender?: string | undefined; lastMessageId?: string | undefined; lastMessage?: { [x: string]: any; chatMessageType: MESSAGE_TYPE; msg: string; referenceContent?: any; forwardMessageList?: AnyObject[] | undefined; messageTemplate?: any; messageTemplateData?: any; fileUrl?: string | undefined; avStatus?: string | undefined; } | undefined; lastMessageSendTime?: string | undefined; lastMessageStatus?: string | undefined; lastSenderName?: string | undefined; businessInfo?: { uiSetting?: AnyObject | undefined; topicInfo?: { [x: string]: any; param?: AnyObject | undefined; } | undefined; } | undefined; labelList?: AnyObject[] | undefined; notDisturb: boolean; } | null; setCurrentSessionItem: (item: AnyObject) => void; setUpdateSessionItem: (item: SessionItem) => void; setSessionList: (list: SessionItem[]) => void; emit: (event: 'template-click' | 'unread-message-update' | 'session-change' | 'session-close', ...args: any[]) => void; setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void; appendMsg: () => void; scrollToBottom: () => void; };