import { FileSpec, UploadFiles } from './upload';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    accept: {
        type: ArrayConstructor;
        default: () => string[];
    };
    fileSize: {
        type: NumberConstructor;
        default: number;
    };
    fileSpec: {
        type: import("vue").PropType<FileSpec>;
        default: undefined;
    };
    limit: {
        type: NumberConstructor;
        default: number;
    };
    fileList: {
        type: import("vue").PropType<UploadFiles>;
        default: () => [];
    };
    beforeRemove: {
        type: import("vue").PropType<(uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => import("element-plus/es/utils/typescript").Awaitable<boolean>>;
        default: null;
    };
    onChange: {
        type: import("vue").PropType<(uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void>;
        default: null;
    };
    beforeUpload: {
        type: import("vue").PropType<(rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript").Awaitable<boolean | void | Blob | File | null | undefined>>;
        default: null;
    };
    onPreview: {
        type: import("vue").PropType<(uploadFile: import("element-plus").UploadFile) => void>;
        default: null;
    };
    drag: {
        type: BooleanConstructor;
    };
    disabled: {
        type: BooleanConstructor;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    accept: {
        type: ArrayConstructor;
        default: () => string[];
    };
    fileSize: {
        type: NumberConstructor;
        default: number;
    };
    fileSpec: {
        type: import("vue").PropType<FileSpec>;
        default: undefined;
    };
    limit: {
        type: NumberConstructor;
        default: number;
    };
    fileList: {
        type: import("vue").PropType<UploadFiles>;
        default: () => [];
    };
    beforeRemove: {
        type: import("vue").PropType<(uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => import("element-plus/es/utils/typescript").Awaitable<boolean>>;
        default: null;
    };
    onChange: {
        type: import("vue").PropType<(uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void>;
        default: null;
    };
    beforeUpload: {
        type: import("vue").PropType<(rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript").Awaitable<boolean | void | Blob | File | null | undefined>>;
        default: null;
    };
    onPreview: {
        type: import("vue").PropType<(uploadFile: import("element-plus").UploadFile) => void>;
        default: null;
    };
    drag: {
        type: BooleanConstructor;
    };
    disabled: {
        type: BooleanConstructor;
    };
}>>, {
    onChange: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => void;
    disabled: boolean;
    drag: boolean;
    beforeUpload: (rawFile: import("element-plus").UploadRawFile) => import("element-plus/es/utils/typescript").Awaitable<boolean | void | Blob | File | null | undefined>;
    beforeRemove: (uploadFile: import("element-plus").UploadFile, uploadFiles: import("element-plus").UploadFiles) => import("element-plus/es/utils/typescript").Awaitable<boolean>;
    onPreview: (uploadFile: import("element-plus").UploadFile) => void;
    accept: unknown[];
    fileList: UploadFiles;
    limit: number;
    fileSize: number;
    fileSpec: FileSpec;
}, {}>, {
    default?(_: {}): any;
    tip?(_: {}): any;
    trigger?(_: {}): any;
    file?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
