import type { UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadStatus } from 'element-plus';
declare var __VLS_11: {}, __VLS_29: {
    file: UploadFile;
}, __VLS_51: {
    file: UploadFile;
};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_11) => any;
} & {
    file?: (props: typeof __VLS_29) => any;
} & {
    fileBottom?: (props: typeof __VLS_51) => any;
};
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
    listType: {
        type: import("vue").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: import("vue").PropType<number[]>;
        default: () => never[];
    };
    disabledCheckboxUids: {
        type: import("vue").PropType<number[]>;
        default: () => never[];
    };
    onAllComplete: {
        type: import("vue").PropType<() => void>;
        default: () => void;
    };
    beforeUpload: {
        readonly type: import("vue").PropType<(rawFile: 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: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => boolean | Promise<boolean>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onRemove: {
        readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onChange: {
        readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onPreview: {
        readonly type: import("vue").PropType<(uploadFile: UploadFile) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onSuccess: {
        readonly type: import("vue").PropType<(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onProgress: {
        readonly type: import("vue").PropType<(evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onError: {
        readonly type: import("vue").PropType<(error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onExceed: {
        readonly type: import("vue").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: import("vue").PropType<"" | "anonymous" | "use-credentials">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    action: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "#";
    };
    headers: {
        readonly type: import("vue").PropType<Record<string, any> | Headers>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    method: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "post";
    };
    data: {
        readonly type: import("vue").PropType<({
            [x: string]: any;
        } | Promise<{
            [x: string]: any;
        }>) | ((rawFile: UploadRawFile) => {
            [x: string]: any;
        } | Promise<{
            [x: string]: any;
        }>)>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => {};
    };
    name: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "file";
    };
    withCredentials: BooleanConstructor;
    showFileList: {
        readonly type: import("vue").PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    fileList: {
        readonly type: import("vue").PropType<import("element-plus").UploadUserFile[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => [];
    };
    httpRequest: {
        readonly type: import("vue").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: import("vue").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: import("vue").PropType<(file: Partial<UploadFile>) => void>;
    };
    checkoutFiles: {
        type: import("vue").PropType<any[]>;
    };
}, {
    submit: () => void;
    abort: (file: UploadFile) => void;
    clearFiles: (status?: UploadStatus[] | undefined) => void;
    handleStart: (rawFile: UploadRawFile) => void;
    uploadFileRef: import("vue").Ref<UploadInstance | undefined>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    handleRemove: (file: {
        file: UploadFile;
        index: number;
    }) => void;
    "update:fileList": (value: UploadFile[]) => void;
    "update:checkoutFiles": (value: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    listType: {
        type: import("vue").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: import("vue").PropType<number[]>;
        default: () => never[];
    };
    disabledCheckboxUids: {
        type: import("vue").PropType<number[]>;
        default: () => never[];
    };
    onAllComplete: {
        type: import("vue").PropType<() => void>;
        default: () => void;
    };
    beforeUpload: {
        readonly type: import("vue").PropType<(rawFile: 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: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => boolean | Promise<boolean>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onRemove: {
        readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onChange: {
        readonly type: import("vue").PropType<(uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onPreview: {
        readonly type: import("vue").PropType<(uploadFile: UploadFile) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onSuccess: {
        readonly type: import("vue").PropType<(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onProgress: {
        readonly type: import("vue").PropType<(evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onError: {
        readonly type: import("vue").PropType<(error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => void;
    };
    onExceed: {
        readonly type: import("vue").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: import("vue").PropType<"" | "anonymous" | "use-credentials">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    action: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "#";
    };
    headers: {
        readonly type: import("vue").PropType<Record<string, any> | Headers>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    method: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "post";
    };
    data: {
        readonly type: import("vue").PropType<({
            [x: string]: any;
        } | Promise<{
            [x: string]: any;
        }>) | ((rawFile: UploadRawFile) => {
            [x: string]: any;
        } | Promise<{
            [x: string]: any;
        }>)>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => {};
    };
    name: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "file";
    };
    withCredentials: BooleanConstructor;
    showFileList: {
        readonly type: import("vue").PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    fileList: {
        readonly type: import("vue").PropType<import("element-plus").UploadUserFile[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => [];
    };
    httpRequest: {
        readonly type: import("vue").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: import("vue").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: import("vue").PropType<(file: Partial<UploadFile>) => void>;
    };
    checkoutFiles: {
        type: import("vue").PropType<any[]>;
    };
}>> & {
    "onUpdate:fileList"?: ((value: UploadFile[]) => any) | undefined;
    onHandleRemove?: ((file: {
        file: UploadFile;
        index: number;
    }) => any) | undefined;
    "onUpdate:checkoutFiles"?: ((value: any[]) => any) | undefined;
}, {
    onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
    size: number;
    method: string;
    data: ({
        [x: string]: any;
    } | Promise<{
        [x: string]: any;
    }>) | ((rawFile: UploadRawFile) => {
        [x: string]: any;
    } | Promise<{
        [x: string]: any;
    }>);
    url: string;
    withCredentials: boolean;
    onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
    name: string;
    checkbox: boolean;
    height: number;
    width: number;
    drag: boolean;
    multiple: boolean;
    disabled: boolean;
    file: Partial<UploadFile>;
    onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
    showIcon: boolean;
    onProgress: (evt: import("element-plus").UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
    accept: string;
    acl: string;
    rename: number;
    controls: boolean;
    oncontextmenu: boolean;
    beforeUpload: (rawFile: UploadRawFile) => boolean | void | Blob | File | Promise<boolean | void | Blob | File | null | undefined> | null | undefined;
    onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
    onPreview: (uploadFile: UploadFile) => void;
    onExceed: (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
    action: string;
    showFileList: boolean;
    fileList: import("element-plus").UploadUserFile[];
    autoUpload: boolean;
    listType: "text" | "picture" | "picture-card";
    httpRequest: import("element-plus").UploadRequestHandler;
    fileWidth: string;
    fileHeight: string;
    fileStyle: Record<string, any>;
    field: string;
    controlslist: string;
    previewWidth: string;
    openPreviewDownload: boolean;
    showLoading: boolean;
    showDelete: boolean;
    disabledDeleteUids: number[];
    deleteTip: boolean;
    disabledCheckboxUids: number[];
    onAllComplete: () => void;
}, {}>, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
