import type { UploadFile as ElUploadFile, UploadListProps as ElUploadListProps, UploadProps as ElUploadProps, UploadRawFile as ElUploadRawFile } from 'element-plus';
import type { PropType } from 'vue';
export type UploadFile = ElUploadFile;
export type UploadFiles = UploadFile[];
export type UploadListProps = ElUploadListProps;
export type UploadRawFile = ElUploadRawFile;
export type UploadProps = ElUploadProps;
export declare const uploadListEmits: {
    remove: (file: ElUploadFile) => boolean;
};
export declare const uploadListProps: {
    readonly files: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").UploadFiles) | (() => import("element-plus").UploadFiles) | ((new (...args: any[]) => import("element-plus").UploadFiles) | (() => import("element-plus").UploadFiles))[], unknown, unknown, () => never[], boolean>;
    readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly handlePreview: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: ElUploadFile) => void) | (() => (uploadFile: ElUploadFile) => void) | {
        (): (uploadFile: ElUploadFile) => void;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (uploadFile: ElUploadFile) => void) | (() => (uploadFile: ElUploadFile) => void) | {
        (): (uploadFile: ElUploadFile) => void;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly listType: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "picture" | "text" | "picture-card", unknown, "text", boolean>;
};
export declare const uploadProps: {
    readonly beforeUpload: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: ElUploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: ElUploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
        (): (rawFile: ElUploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (rawFile: ElUploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | (() => (rawFile: ElUploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>) | {
        (): (rawFile: ElUploadRawFile) => import("element-plus/es/utils").Awaitable<boolean | void | Blob | File | null | undefined>;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly beforeRemove: {
        readonly type: PropType<(uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => import("element-plus/es/utils").Awaitable<boolean>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    readonly onRemove: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly onChange: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly onPreview: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (uploadFile: ElUploadFile) => void) | (() => (uploadFile: ElUploadFile) => void) | {
        (): (uploadFile: ElUploadFile) => void;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (uploadFile: ElUploadFile) => void) | (() => (uploadFile: ElUploadFile) => void) | {
        (): (uploadFile: ElUploadFile) => void;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly onSuccess: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (response: any, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (response: any, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (response: any, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (response: any, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (response: any, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly onProgress: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (evt: import("element-plus").UploadProgressEvent, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (evt: import("element-plus").UploadProgressEvent, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (evt: import("element-plus").UploadProgressEvent, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (evt: import("element-plus").UploadProgressEvent, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly onError: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (error: Error, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (error: Error, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (error: Error, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | (() => (error: Error, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void) | {
        (): (error: Error, uploadFile: ElUploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly onExceed: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
        (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | (() => (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void) | {
        (): (files: File[], uploadFiles: import("element-plus").UploadUserFile[]) => void;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => void, boolean>;
    readonly action: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "#", boolean>;
    readonly headers: {
        readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => Record<string, any> | Headers) | (() => Record<string, any> | Headers) | ((new (...args: any[]) => Record<string, any> | Headers) | (() => Record<string, any> | Headers))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    readonly method: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "post", boolean>;
    readonly data: import("element-plus/es/utils").EpPropFinalized<ObjectConstructor, unknown, unknown, () => import("element-plus/es/utils").Mutable<{}>, boolean>;
    readonly multiple: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly name: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "file", boolean>;
    readonly drag: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly withCredentials: BooleanConstructor;
    readonly showFileList: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly accept: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    readonly type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "select", boolean>;
    readonly fileList: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").UploadUserFile[]) | (() => import("element-plus").UploadUserFile[]) | ((new (...args: any[]) => import("element-plus").UploadUserFile[]) | (() => import("element-plus").UploadUserFile[]))[], unknown, unknown, () => [], boolean>;
    readonly autoUpload: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly listType: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "picture" | "text" | "picture-card", unknown, "text", boolean>;
    readonly httpRequest: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").UploadRequestHandler) | (() => import("element-plus").UploadRequestHandler) | {
        (): import("element-plus").UploadRequestHandler;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => import("element-plus").UploadRequestHandler) | (() => import("element-plus").UploadRequestHandler) | {
        (): import("element-plus").UploadRequestHandler;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, import("element-plus").UploadRequestHandler, boolean>;
    readonly disabled: BooleanConstructor;
    readonly limit: NumberConstructor;
};
export type FileSpec = {
    width?: number;
    height?: number;
};
export declare const definePropType: <T>(val: any) => PropType<T>;
