import { type PropType } from 'vue';
import type { UploadUserFile } from '../../../../hooks/base/useUploadFile';
import type { ResourceUrlResponse } from '../../../../api/resource/interface';
export declare const uploadFileProProps: {
    listType: {
        type: PropType<"text" | "picture" | "picture-card">;
        default: string;
    };
    drag: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**领域编码 */
    domainCode: {
        type: StringConstructor;
    };
    /**场景编码 */
    sceneCode: {
        type: StringConstructor;
    };
    /** 文件权限,默认继承桶 */
    acl: {
        type: StringConstructor;
        default: string;
    };
    /** 是否重命名文件 0 否 1 是，默认 1 */
    rename: {
        type: NumberConstructor;
        default: number;
    };
    /**上传中是否loading */
    showLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** 是否展示删除按钮 */
    showDelete: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**禁用删除按钮的uid列表 */
    disabledDeleteUids: {
        type: PropType<number[]>;
        default: () => never[];
    };
    /** 删除时提示 */
    deleteTip: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** 是否开启文件多选 */
    checkbox: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**禁用多选按钮的uid列表 */
    disabledCheckboxUids: {
        type: PropType<number[]>;
        default: () => never[];
    };
    /** 缩略图宽度 */
    width: {
        type: NumberConstructor;
        default: number;
    };
    /** 缩略图高度 */
    height: {
        type: NumberConstructor;
        default: number;
    };
    /**全部文件上传完成事件 */
    onAllComplete: {
        type: PropType<() => void>;
        default: () => void;
    };
    beforeUpload: {
        readonly type: PropType<(rawFile: import("element-plus").UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    beforeRemove: {
        readonly type: PropType<(uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => boolean | Promise<boolean>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onRemove: {
        readonly type: PropType<(uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onChange: {
        readonly type: PropType<(uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onPreview: {
        readonly type: PropType<(uploadFile: import("element-plus").UploadFile) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onSuccess: {
        readonly type: PropType<(response: any, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onProgress: {
        readonly type: PropType<(evt: import("element-plus").UploadProgressEvent, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onError: {
        readonly type: PropType<(error: Error, uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onExceed: {
        readonly type: PropType<(files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    crossorigin: {
        readonly type: PropType<"" | "anonymous" | "use-credentials">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    action: {
        readonly type: PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "#";
    };
    headers: {
        readonly type: PropType<Record<string, any> | Headers>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    method: {
        readonly type: PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "post";
    };
    data: {
        readonly type: PropType<({
            [x: string]: any;
        } | Promise<{
            [x: string]: any;
        }>) | ((rawFile: import("element-plus").UploadRawFile) => {
            [x: string]: any;
        } | Promise<{
            [x: string]: any;
        }>)>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => {};
    };
    multiple: BooleanConstructor;
    name: {
        readonly type: PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "file";
    };
    withCredentials: BooleanConstructor;
    showFileList: {
        readonly type: PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    accept: {
        readonly type: PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "";
    };
    fileList: {
        readonly type: PropType<import("element-plus").UploadUserFile[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => [];
    };
    autoUpload: {
        readonly type: PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    httpRequest: {
        readonly type: PropType<import("element-plus").UploadRequestHandler>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: import("element-plus").UploadRequestHandler;
    };
    disabled: BooleanConstructor;
    limit: NumberConstructor;
};
export type GmUploadProUserFileResponse = ResourceUrlResponse;
export type GmUploadProUserFile = Omit<UploadUserFile, 'response'> & {
    response?: GmUploadProUserFileResponse;
};
