export const fileModalStore: FileModalStore;
export default self;
export type fileItemBaseAttr = {
    objectId: string;
    ext: string;
    size: number;
};
export type ImageItem = fileItemBaseAttr;
export type FileItem = fileItemBaseAttr;
export type VideoItem = fileItemBaseAttr;
export type ListItem = {
    type: string;
    dataset: ImageItem | FileItem | VideoItem;
};
/**
 * @typedef {Object} fileItemBaseAttr
 * @property {string} objectId
 * @property {string} ext
 * @property {number} size
 *
 */
/**
 * @typedef {fileItemBaseAttr} ImageItem
 * @property {string} localPath
 * @property {number} width
 * @property {number} height
 */
/**
 * @typedef {fileItemBaseAttr} FileItem
 * @property {string} name
 */
/**
 * @typedef {fileItemBaseAttr} VideoItem
 * @property {string} name
 * @property {number} duration
 * @property {string} localPath
 * @property {string} posterFullPath
 * @property {Object} poster
 * @property {number} poster.width
 * @property {number} poster.height
 * @property {string} poster.object
 * @property {string} poster.fileType
 */
/**
 * @typedef {Object} ListItem
 * @property {String} type
 * @property {ImageItem | FileItem | VideoItem} dataset
 */
declare class FileModalStore {
    MEDIA_TYPE: {
        Image: string;
        File: string;
        Video: string;
    };
    fileList: any[];
    visible: boolean;
    dragOutVisible: boolean;
    isLoading: boolean;
    /**
     *
     * @param fileList {ListItem[]}
     */
    open(fileList?: ListItem[]): void;
    dragOut(): void;
    closeDragOut(): void;
    close(): void;
    delete(index: any): void;
    send(files: any, aChatId: any, amid: any): Promise<void>;
}
declare const self: FileModalStore;
