import { ConversationItem, MessageItem, SDKMessage } from '../../../types/entity'; import { GetOneConversationParams } from '../../../types/params'; import { MsgProto, SdkWsProto } from '@openim/protocol'; import { MixinApiService } from '../..'; import { TypingManager } from './typing'; import MessageCache from './cache'; import MessageSyncer from './syncer'; import Encryptor from './encryptor'; import StreamHandler from './stream'; declare class MessageTrigger { private instance; cache: MessageCache; syncer: MessageSyncer; streamHandler: StreamHandler; triggeredConversationEvent: Map; encryptor: Encryptor; typingManager: TypingManager; constructor(instance: MixinApiService); sync: (operationID: string) => Promise; reset: () => void; setTriggeredConversationEvent: (key: string) => void; getMessageWithCacheBySeqs: (conversationID: string, seqs: number[], operationID: string) => Promise<{ messages: SDKMessage[]; filterCount: number; }>; getPreviousSeqMessage: ({ conversationID, seq, operationID, }: { conversationID: string; seq: number; operationID: string; }) => Promise; initConversation: (params: GetOneConversationParams & { operationID: string; }) => Promise; getConversationsWithCacheByIDs: (conversationIDs: string[], operationID: string) => Promise; getOneConversationAndTryChange: (conversationID: string, operationID: string, updateFields?: Partial, unreadCountIncr?: boolean, isNewConversation?: boolean) => Promise; getMessageFromServerBySeqs: (conversations: MsgProto.ConversationSeqs[], operationID: string) => Promise; revokeMessage: (revokeMsgTips: SdkWsProto.RevokeMsgTips, operationID: string) => Promise; triggerTyping: (message: MessageItem) => void; private handleGroupReadReceipt; triggerNotification: (messages: Record, operationID: string) => Promise; triggerConversationNotification: (message: SdkWsProto.MsgData, operationID: string) => Promise; triggerConversation: (messages: Record, operationID: string) => Promise; } export default MessageTrigger;