import { type PropType } from 'vue';
import { type UploadFile } from 'element-plus';
export type { GmUploadProUserFile, GmUploadProUserFileResponse } from '../../business/uploadPro';
export type GmUploadFile = Partial<UploadFile>;
export declare const uploadFileProps: {
    listType: {
        type: PropType<"text" | "picture" | "picture-card">;
        default: string;
    };
    accept: {
        type: StringConstructor;
        default: string;
    };
    autoUpload: {
        type: BooleanConstructor;
        default: boolean;
    };
    drag: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** 是否展示删除按钮 */
    showDelete: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** 删除时提示 */
    deleteTip: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** 是否开启文件多选 */
    checkbox: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** 缩略图宽度 */
    width: {
        type: NumberConstructor;
        default: number;
    };
    /** 缩略图高度 */
    height: {
        type: NumberConstructor;
        default: number;
    };
    domainCode: {
        type: StringConstructor;
    };
    sceneCode: {
        type: StringConstructor;
    };
    acl: {
        type: StringConstructor;
        default: string;
    };
    rename: {
        type: NumberConstructor;
        default: number;
    };
    showLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabledDeleteUids: {
        type: PropType<number[]>;
        default: () => never[];
    };
    disabledCheckboxUids: {
        type: PropType<number[]>;
        default: () => never[];
    };
    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: 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: 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: 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: UploadFile) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onSuccess: {
        readonly type: PropType<(response: any, uploadFile: 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: 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: 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: () => {};
    };
    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;
    };
    fileList: {
        readonly type: PropType<import("element-plus").UploadUserFile[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => [];
    };
    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;
    previewWidth: {
        type: StringConstructor;
        default: string;
    };
    openPreviewDownload: {
        type: BooleanConstructor;
        default: boolean;
    };
    file: {
        type: PropType<Partial<UploadFile>>;
        default: () => {};
    };
    url: {
        type: StringConstructor;
        default: string;
    };
    fileWidth: {
        type: StringConstructor;
        default: string;
    };
    fileHeight: {
        type: StringConstructor;
        default: string;
    };
    fileStyle: {
        type: ObjectConstructor;
        default: () => {};
    };
    size: {
        type: NumberConstructor;
        default: number;
    };
    field: {
        type: StringConstructor;
        default: string;
    };
    controls: {
        type: BooleanConstructor;
        default: boolean;
    };
    controlslist: {
        type: StringConstructor;
        default: string; /** 是否开启文件多选 */
    };
    oncontextmenu: {
        type: BooleanConstructor;
        default: boolean;
    };
    showIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    onClick: {
        type: PropType<(file: Partial<UploadFile>) => void>;
    };
};
