import { type PropType } from 'vue';
import type { ExtractPublicPropTypes } from '../_util/interface';
import type { FileItem } from './interface';
type UploadListType = 'text' | 'picture-card';
export declare const uploadProps: {
    readonly accept: {
        readonly type: PropType<string[]>;
        readonly default: () => string[];
    };
    readonly action: StringConstructor;
    readonly headers: {
        readonly type: ObjectConstructor;
        readonly default: () => {};
    };
    readonly data: {
        readonly type: ObjectConstructor;
        readonly default: () => {};
    };
    readonly withCredentials: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly timeout: {
        readonly type: NumberConstructor;
    };
    readonly beforeUpload: FunctionConstructor;
    readonly beforeRemove: FunctionConstructor;
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly fileList: {
        readonly type: PropType<FileItem[]>;
        readonly default: () => FileItem[];
    };
    readonly listType: {
        readonly type: PropType<UploadListType>;
        readonly default: "text";
    };
    readonly multiple: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly multipleLimit: NumberConstructor;
    readonly name: {
        readonly type: StringConstructor;
        readonly default: "file";
    };
    readonly showFileList: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly httpRequest: {
        readonly type: FunctionConstructor;
    };
    readonly transformResponse: FunctionConstructor;
};
export type UploadProps = ExtractPublicPropTypes<typeof uploadProps>;
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly accept: {
        readonly type: PropType<string[]>;
        readonly default: () => string[];
    };
    readonly action: StringConstructor;
    readonly headers: {
        readonly type: ObjectConstructor;
        readonly default: () => {};
    };
    readonly data: {
        readonly type: ObjectConstructor;
        readonly default: () => {};
    };
    readonly withCredentials: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly timeout: {
        readonly type: NumberConstructor;
    };
    readonly beforeUpload: FunctionConstructor;
    readonly beforeRemove: FunctionConstructor;
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly fileList: {
        readonly type: PropType<FileItem[]>;
        readonly default: () => FileItem[];
    };
    readonly listType: {
        readonly type: PropType<UploadListType>;
        readonly default: "text";
    };
    readonly multiple: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly multipleLimit: NumberConstructor;
    readonly name: {
        readonly type: StringConstructor;
        readonly default: "file";
    };
    readonly showFileList: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly httpRequest: {
        readonly type: FunctionConstructor;
    };
    readonly transformResponse: FunctionConstructor;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("success" | "error" | "change" | "progress" | "remove" | "exceed" | "update:fileList")[], "success" | "error" | "change" | "progress" | "remove" | "exceed" | "update:fileList", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly accept: {
        readonly type: PropType<string[]>;
        readonly default: () => string[];
    };
    readonly action: StringConstructor;
    readonly headers: {
        readonly type: ObjectConstructor;
        readonly default: () => {};
    };
    readonly data: {
        readonly type: ObjectConstructor;
        readonly default: () => {};
    };
    readonly withCredentials: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly timeout: {
        readonly type: NumberConstructor;
    };
    readonly beforeUpload: FunctionConstructor;
    readonly beforeRemove: FunctionConstructor;
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly fileList: {
        readonly type: PropType<FileItem[]>;
        readonly default: () => FileItem[];
    };
    readonly listType: {
        readonly type: PropType<UploadListType>;
        readonly default: "text";
    };
    readonly multiple: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly multipleLimit: NumberConstructor;
    readonly name: {
        readonly type: StringConstructor;
        readonly default: "file";
    };
    readonly showFileList: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly httpRequest: {
        readonly type: FunctionConstructor;
    };
    readonly transformResponse: FunctionConstructor;
}>> & Readonly<{
    onChange?: (...args: any[]) => any;
    onError?: (...args: any[]) => any;
    onProgress?: (...args: any[]) => any;
    onRemove?: (...args: any[]) => any;
    onSuccess?: (...args: any[]) => any;
    onExceed?: (...args: any[]) => any;
    "onUpdate:fileList"?: (...args: any[]) => any;
}>, {
    readonly name: string;
    readonly data: Record<string, any>;
    readonly disabled: boolean;
    readonly multiple: boolean;
    readonly accept: string[];
    readonly headers: Record<string, any>;
    readonly withCredentials: boolean;
    readonly fileList: FileItem[];
    readonly listType: UploadListType;
    readonly showFileList: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
