import { RcFile, Action, UploadRequestMethod, UploadRequestHeader, BeforeUploadFileType, UploadProgressEvent, UploadRequestOption } from './interface';
import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare const _default: DefineComponent<ExtractPropTypes<{
    capture: PropType<boolean | "user" | "environment">;
    multipart: {
        type: BooleanConstructor;
        default: undefined;
    };
    name: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    componentTag: PropType<any>;
    action: PropType<Action>;
    method: PropType<UploadRequestMethod>;
    directory: {
        type: BooleanConstructor;
        default: undefined;
    };
    data: PropType<Record<string, unknown> | ((file: RcFile | string | Blob) => Record<string, unknown>)>;
    headers: PropType<UploadRequestHeader>;
    accept: StringConstructor;
    multiple: {
        type: BooleanConstructor;
        default: undefined;
    };
    onBatchStart: PropType<(fileList: {
        file: RcFile;
        parsedFile: Exclude< BeforeUploadFileType, boolean>;
    }[]) => void>;
    onReject: PropType<(fileList: RcFile[]) => void>;
    onStart: PropType<(file: RcFile) => void>;
    onError: PropType<(error: Error, ret: Record<string, unknown>, file: RcFile) => void>;
    onSuccess: PropType<(response: Record<string, unknown>, file: RcFile, xhr: XMLHttpRequest) => void>;
    onProgress: PropType<(event: UploadProgressEvent, file: RcFile) => void>;
    beforeUpload: PropType<(file: RcFile, FileList: RcFile[]) => BeforeUploadFileType | Promise<void | BeforeUploadFileType>>;
    customRequest: PropType<(option: UploadRequestOption) => void>;
    withCredentials: {
        type: BooleanConstructor;
        default: undefined;
    };
    openFileDialogOnClick: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefixCls: StringConstructor;
    id: StringConstructor;
    onMouseenter: PropType<(e: MouseEvent) => void>;
    onMouseleave: PropType<(e: MouseEvent) => void>;
    onClick: PropType<(e: MouseEvent | KeyboardEvent) => void>;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    capture: PropType<boolean | "user" | "environment">;
    multipart: {
        type: BooleanConstructor;
        default: undefined;
    };
    name: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    componentTag: PropType<any>;
    action: PropType<Action>;
    method: PropType<UploadRequestMethod>;
    directory: {
        type: BooleanConstructor;
        default: undefined;
    };
    data: PropType<Record<string, unknown> | ((file: RcFile | string | Blob) => Record<string, unknown>)>;
    headers: PropType<UploadRequestHeader>;
    accept: StringConstructor;
    multiple: {
        type: BooleanConstructor;
        default: undefined;
    };
    onBatchStart: PropType<(fileList: {
        file: RcFile;
        parsedFile: Exclude< BeforeUploadFileType, boolean>;
    }[]) => void>;
    onReject: PropType<(fileList: RcFile[]) => void>;
    onStart: PropType<(file: RcFile) => void>;
    onError: PropType<(error: Error, ret: Record<string, unknown>, file: RcFile) => void>;
    onSuccess: PropType<(response: Record<string, unknown>, file: RcFile, xhr: XMLHttpRequest) => void>;
    onProgress: PropType<(event: UploadProgressEvent, file: RcFile) => void>;
    beforeUpload: PropType<(file: RcFile, FileList: RcFile[]) => BeforeUploadFileType | Promise<void | BeforeUploadFileType>>;
    customRequest: PropType<(option: UploadRequestOption) => void>;
    withCredentials: {
        type: BooleanConstructor;
        default: undefined;
    };
    openFileDialogOnClick: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefixCls: StringConstructor;
    id: StringConstructor;
    onMouseenter: PropType<(e: MouseEvent) => void>;
    onMouseleave: PropType<(e: MouseEvent) => void>;
    onClick: PropType<(e: MouseEvent | KeyboardEvent) => void>;
}>> & Readonly<{}>, {
    multiple: boolean;
    disabled: boolean;
    multipart: boolean;
    directory: boolean;
    withCredentials: boolean;
    openFileDialogOnClick: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
