import { ChatSDK } from '../SDK'; import { ChatType } from 'module/types/messageType'; export type PinnedMessage = ChatSDK.PinnedMessageInfo; export interface PinnedMessageInfo { list: PinnedMessage[]; cursor: string | null; } export interface PinnedMessageMap { groupChat: Record; chatRoom: Record; singleChat: Record; } declare class PinnedMessagesStore { messages: PinnedMessageMap; visible: boolean; constructor(); unshiftPinnedMessage(conversationType: ChatType, conversationId: string, message: PinnedMessage): void; pushPinnedMessage(conversationType: ChatType, conversationId: string, message: PinnedMessage): void; clearPinnedMessages(conversationType: ChatType, conversationId: string): void; deletePinnedMessage(conversationType: ChatType, conversationId: string, messageId: string): void; setPinnedMessageCursor(conversationType: ChatType, conversationId: string, cursor: string | null): void; updatePinnedMessage(conversationType: ChatType, conversationId: string, messageId: string, pinnedTime: number, operatorId?: string): void; modifyPinnedMessage(conversationType: ChatType, conversationId: string, message: ChatSDK.ModifiedEventMessage): void; changeVisible(visible: boolean): void; pushPinNoticeMessage(params: { conversationType: ChatType; conversationId: string; noticeType: 'pin' | 'unpin'; operatorId: string; time: number; }): void; clear(): void; } export default PinnedMessagesStore;