import type { UploadRawFile as ElUploadRawFile, UploadFile as ElUploadFile, UploadUserFile as ElUploadUserFile, UploadRequestOptions } from 'element-plus';
export interface UploadRawFile extends ElUploadRawFile {
    md5?: string;
}
export type UploadFile = Omit<ElUploadFile, 'raw'> & {
    raw?: UploadRawFile;
};
export type UploadFiles = UploadFile[];
export type UploadUserFile = Omit<ElUploadUserFile, 'raw'> & {
    raw?: UploadRawFile;
};
export interface UseUploadFileOptions {
    /**领域编码 */
    domainCode?: string;
    /**场景编码 */
    sceneCode?: string;
    /**接受上传的文件类型 */
    accept?: string;
    /**文件权限,默认继承桶 */
    acl?: string;
    /** 是否重命名文件 0 否 1 是，默认 1 */
    rename?: number;
    /**是否禁止上传文件到存储桶 */
    disablePutFile?: boolean;
    /** */
    elOptions?: UploadRequestOptions;
}
export declare const useUploadFile: () => {
    isLoading: import("vue").Ref<boolean>;
    uploadFile: (file: UploadRawFile, options?: UseUploadFileOptions) => Promise<{
        url: string;
        exists: boolean;
        uploadUrl: string;
        key: string;
        fileName: string;
        md5: string;
        contentType: string;
        size: number;
    }>;
    cancelUpload: (fileUid: number) => void;
    cancelAllUploads: () => void;
};
