@openim/client-sdk
Version:
JavaScript/TypeScript Client SDK for OpenIM
40 lines (39 loc) • 2.21 kB
TypeScript
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';
declare class MessageTrigger {
private instance;
cache: MessageCache;
syncer: MessageSyncer;
triggeredConversationEvent: Map<string, boolean>;
typingManager: TypingManager;
constructor(instance: MixinApiService);
sync: (operationID: string) => Promise<void>;
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<SDKMessage | null>;
initConversation: (params: GetOneConversationParams & {
operationID: string;
}) => Promise<ConversationItem>;
getConversationsWithCacheByIDs: (conversationIDs: string[], operationID: string) => Promise<ConversationItem[]>;
getOneConversationAndTryChange: (conversationID: string, operationID: string, updateFields?: Partial<ConversationItem>, unreadCountIncr?: boolean, isNewConversation?: boolean) => Promise<ConversationItem | undefined>;
getMessageFromServerBySeqs: (conversations: MsgProto.ConversationSeqs[], operationID: string) => Promise<MsgProto.GetSeqMessageResp>;
revokeMessage: (revokeMsgTips: SdkWsProto.RevokeMsgTips, operationID: string) => Promise<void>;
triggerTyping: (message: MessageItem) => void;
triggerNotification: (messages: Record<string, SdkWsProto.PullMsgs>, operationID: string) => Promise<void>;
triggerConversationNotification: (message: SdkWsProto.MsgData, operationID: string) => Promise<void>;
triggerConversation: (messages: Record<string, SdkWsProto.PullMsgs>, operationID: string) => Promise<void>;
}
export default MessageTrigger;