import { Vue } from 'vue-property-decorator';
import ZIMKitChatVM from '../VM/ZIMKitChatVM';
import { ZIMKitTextMessageModel, ZIMKitImgMessageModel, ZIMKitAudioMessageModel, ZIMKitVideoMessageModel, ZIMKitFileMessageModel } from '../Model';
export default class Message extends Vue {
    showExpressionBox: boolean;
    currentChat: ZIMKitChatVM;
    message: string;
    userInfo: import("../../ZIMKitUser/Model").ZIMKitUserInfoModel;
    oldScrollHeight: number;
    newScrollHeight: number;
    currentMessageList: (ZIMKitTextMessageModel | ZIMKitImgMessageModel | ZIMKitAudioMessageModel | ZIMKitVideoMessageModel | ZIMKitFileMessageModel)[];
    showLargeImgBox: boolean;
    largeImg: {};
    audioItem: ZIMKitAudioMessageModel;
    isScrolled: boolean;
    isMultiSelectMode: number;
    mounted(): void;
    beforeDestroy(): void;
    currentChatChangedCallback(): (currentChat: ZIMKitChatVM) => void;
    currentChatUpdatedCallback(): (currentChat: ZIMKitChatVM) => void;
    modeChangedCallback(): (mode: number, message: ZIMKitTextMessageModel | ZIMKitImgMessageModel | ZIMKitAudioMessageModel | ZIMKitVideoMessageModel | ZIMKitFileMessageModel) => void;
    operation(e: any, messageItem: any): void;
    sendMessage(): void;
    addExpression(item: string): void;
    showLargeImg(item: ZIMKitImgMessageModel | ZIMKitVideoMessageModel): void;
    handleCloseLargeImgBox(): void;
    clickUploadImageFile(): void;
    clickUploadVideoFile(): void;
    clickUploadFile(): void;
    handleImageChange(event: any): Promise<void>;
    handleVideoFileChange(event: any): void;
    handleFileChange(event: any): void;
    playAudio(item: ZIMKitAudioMessageModel): void;
    startPlayingAudio(item: ZIMKitAudioMessageModel, audioDom: HTMLAudioElement): void;
    getAudioWidth(item: ZIMKitAudioMessageModel): number;
    dateFormat(item: ZIMKitTextMessageModel, previousItem: ZIMKitTextMessageModel): string | undefined;
    handleClick(event: MouseEvent): void;
    getFileIcon(item: ZIMKitFileMessageModel): string;
    fileSizeFormat(fileSize: number): string;
    selectMessage(item: ZIMKitTextMessageModel | ZIMKitImgMessageModel | ZIMKitAudioMessageModel | ZIMKitVideoMessageModel | ZIMKitFileMessageModel): void;
    closeMultiSelectMode(): void;
    deleteMessage(): void;
    listScroll(): Promise<void>;
    scrollToBottom(): void;
}
