import { ZIMMessage, ZIMUserInfo, ZIMMediaUploadingProgress, ZIMMediaMessageSentResult } from "../../ZIMAdapter/index.entity";
import ZIMKitConversationModel from "../../ZIMKitConversation/Model";
import ZIMKitMessageModel, { ZIMKitImgMessageModel } from "../Model";
export default class ZIMKitMessageVM {
    static instance: ZIMKitMessageVM;
    private eventHandler;
    messageCount: number;
    messageIndex: number;
    currentChat: ZIMKitConversationModel;
    currentMessageList: (ZIMKitMessageModel | ZIMKitImgMessageModel)[];
    constructor();
    static getInstance(): ZIMKitMessageVM;
    initListenerHandle(): void;
    queryHistoryMessage(conversationID: string, conversationType: number): Promise<void>;
    clearCurrentMessageList(): void;
    sendPeerMessage(message: ZIMMessage): Promise<void>;
    sendGroupMessage(message: ZIMMessage): Promise<void>;
    sendMediaMessage(file: File, progress: ZIMMediaUploadingProgress): Promise<ZIMMediaMessageSentResult>;
    unInit(): void;
    registerLoginUserUpdatedCallback(callback: (userInfo: ZIMUserInfo) => void): void;
    registerCurrentChatUpdatedCallback(callback: (currentChat: ZIMKitConversationModel) => void): void;
    registerMessageListUpdatedCallback(callback: (messageList: (ZIMKitMessageModel | ZIMKitImgMessageModel)[]) => void): void;
}
