import { UploadFile, UploadChangeParam } from '@aplus-frontend/antdv';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, GlobalComponents, GlobalDirectives } from 'vue';
import { UploadType, UploadFile, FileType, HttpRequestHeader, ShowUploadListInterface, UploadListType, UploadLocale, UploadListProgressProps, ItemRender } from '@aplus-frontend/antdv/es/upload/interface';
import { AcceptConfig, UploadRequestOption } from '@aplus-frontend/antdv/es/vc-upload/interface';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
declare function setValue(val: (string | Record<string, any>)[]): void;
declare const _default: DefineComponent<{}, {
    setValue: typeof setValue;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {
    uploadRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
        capture: {
            type: PropType<boolean | "user" | "environment">;
            default: boolean | "user" | "environment";
        };
        type: {
            type: PropType<UploadType>;
            default: UploadType;
        };
        name: StringConstructor;
        defaultFileList: {
            type: PropType< UploadFile<any>[]>;
            default: UploadFile<any>[];
        };
        fileList: {
            type: PropType< UploadFile<any>[]>;
            default: UploadFile<any>[];
        };
        action: {
            type: PropType<string | ((file: FileType) => string) | ((file: FileType) => PromiseLike<string>)>;
            default: string | ((file: FileType) => string) | ((file: FileType) => PromiseLike<string>);
        };
        directory: {
            type: BooleanConstructor;
            default: boolean;
        };
        data: {
            type: PropType<Record<string, unknown> | ((file: UploadFile<any>) => Record<string, unknown> | Promise<Record<string, unknown>>)>;
            default: Record<string, unknown> | ((file: UploadFile<any>) => Record<string, unknown> | Promise<Record<string, unknown>>);
        };
        method: {
            type: PropType<"post" | "POST" | "PUT" | "PATCH" | "put" | "patch">;
            default: "post" | "POST" | "PUT" | "PATCH" | "put" | "patch";
        };
        headers: {
            type: PropType<HttpRequestHeader>;
            default: HttpRequestHeader;
        };
        showUploadList: {
            type: PropType<boolean | ShowUploadListInterface>;
            default: boolean | ShowUploadListInterface;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        accept: PropType<string | AcceptConfig>;
        beforeUpload: {
            type: PropType<(file: FileType, FileList: FileType[]) => (string | boolean | void | Blob | FileType) | Promise<string | boolean | void | Blob | FileType>>;
            default: (file: FileType, FileList: FileType[]) => (string | boolean | void | Blob | FileType) | Promise<string | boolean | void | Blob | FileType>;
        };
        onChange: {
            type: PropType<(info: UploadChangeParam<UploadFile<any>>) => void>;
            default: (info: UploadChangeParam<UploadFile<any>>) => void;
        };
        'onUpdate:fileList': {
            type: PropType<(fileList: UploadFile<any>[]) => void>;
            default: (fileList: UploadFile<any>[]) => void;
        };
        onDrop: {
            type: PropType<(event: DragEvent) => void>;
            default: (event: DragEvent) => void;
        };
        listType: {
            type: PropType<UploadListType>;
            default: UploadListType;
        };
        onPreview: {
            type: PropType<(file: UploadFile<any>) => void>;
            default: (file: UploadFile<any>) => void;
        };
        onDownload: {
            type: PropType<(file: UploadFile<any>) => void>;
            default: (file: UploadFile<any>) => void;
        };
        onReject: {
            type: PropType<(fileList: FileType[]) => void>;
            default: (fileList: FileType[]) => void;
        };
        onRemove: {
            type: PropType<(file: UploadFile<any>) => boolean | void | Promise<boolean | void>>;
            default: (file: UploadFile<any>) => boolean | void | Promise<boolean | void>;
        };
        remove: {
            type: PropType<(file: UploadFile<any>) => boolean | void | Promise<boolean | void>>;
            default: (file: UploadFile<any>) => boolean | void | Promise<boolean | void>;
        };
        supportServerRender: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        prefixCls: StringConstructor;
        customRequest: {
            type: PropType<(options: UploadRequestOption<any>) => void>;
            default: (options: UploadRequestOption<any>) => void;
        };
        withCredentials: {
            type: BooleanConstructor;
            default: boolean;
        };
        openFileDialogOnClick: {
            type: BooleanConstructor;
            default: boolean;
        };
        locale: {
            type: PropType<UploadLocale>;
            default: UploadLocale;
        };
        id: StringConstructor;
        previewFile: {
            type: PropType<(file: Blob | FileType) => PromiseLike<string>>;
            default: (file: Blob | FileType) => PromiseLike<string>;
        };
        transformFile: {
            type: PropType<(file: FileType) => string | Blob | FileType | PromiseLike<string | Blob | FileType>>;
            default: (file: FileType) => string | Blob | FileType | PromiseLike<string | Blob | FileType>;
        };
        iconRender: {
            type: PropType<(opt: {
                file: UploadFile<any>;
                listType?: UploadListType;
            }) => VueNode>;
            default: (opt: {
                file: UploadFile<any>;
                listType?: UploadListType;
            }) => VueNode;
        };
        isImageUrl: {
            type: PropType<(file: UploadFile<any>) => boolean>;
            default: (file: UploadFile<any>) => boolean;
        };
        progress: {
            type: PropType<UploadListProgressProps>;
            default: UploadListProgressProps;
        };
        itemRender: {
            type: PropType<ItemRender<any>>;
            default: ItemRender<any>;
        };
        maxCount: NumberConstructor;
        height: {
            type: PropType<unknown>;
            default: unknown;
        };
        removeIcon: {
            type: PropType<(opt: {
                file: UploadFile<any>;
            }) => VueNode>;
            default: (opt: {
                file: UploadFile<any>;
            }) => VueNode;
        };
        downloadIcon: {
            type: PropType<(opt: {
                file: UploadFile<any>;
            }) => VueNode>;
            default: (opt: {
                file: UploadFile<any>;
            }) => VueNode;
        };
        previewIcon: {
            type: PropType<(opt: {
                file: UploadFile<any>;
            }) => VueNode>;
            default: (opt: {
                file: UploadFile<any>;
            }) => VueNode;
        };
        pastable: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        progress: UploadListProgressProps;
        type: UploadType;
        height: unknown;
        data: Record<string, unknown> | ((file: UploadFile<any>) => Record<string, unknown> | Promise<Record<string, unknown>>);
        onDrop: (event: DragEvent) => void;
        onChange: (info: UploadChangeParam<UploadFile<any>>) => void;
        multiple: boolean;
        disabled: boolean;
        method: "post" | "POST" | "PUT" | "PATCH" | "put" | "patch";
        locale: UploadLocale;
        removeIcon: (opt: {
            file: UploadFile<any>;
        }) => VueNode;
        action: string | ((file: FileType) => string) | ((file: FileType) => PromiseLike<string>);
        remove: (file: UploadFile<any>) => boolean | void | Promise<boolean | void>;
        capture: boolean | "user" | "environment";
        itemRender: ItemRender<any>;
        iconRender: (opt: {
            file: UploadFile<any>;
            listType?: UploadListType;
        }) => VueNode;
        onRemove: (file: UploadFile<any>) => boolean | void | Promise<boolean | void>;
        directory: boolean;
        headers: HttpRequestHeader;
        onReject: (fileList: FileType[]) => void;
        beforeUpload: (file: FileType, FileList: FileType[]) => (string | boolean | void | Blob | FileType) | Promise<string | boolean | void | Blob | FileType>;
        customRequest: (options: UploadRequestOption<any>) => void;
        withCredentials: boolean;
        openFileDialogOnClick: boolean;
        pastable: boolean;
        fileList: UploadFile<any>[];
        defaultFileList: UploadFile<any>[];
        showUploadList: boolean | ShowUploadListInterface;
        'onUpdate:fileList': (fileList: UploadFile<any>[]) => void;
        listType: UploadListType;
        onPreview: (file: UploadFile<any>) => void;
        onDownload: (file: UploadFile<any>) => void;
        supportServerRender: boolean;
        previewFile: (file: Blob | FileType) => PromiseLike<string>;
        transformFile: (file: FileType) => string | Blob | FileType | PromiseLike<string | Blob | FileType>;
        isImageUrl: (file: UploadFile<any>) => boolean;
        downloadIcon: (opt: {
            file: UploadFile<any>;
        }) => VueNode;
        previewIcon: (opt: {
            file: UploadFile<any>;
        }) => VueNode;
    }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        capture: {
            type: PropType<boolean | "user" | "environment">;
            default: boolean | "user" | "environment";
        };
        type: {
            type: PropType<UploadType>;
            default: UploadType;
        };
        name: StringConstructor;
        defaultFileList: {
            type: PropType< UploadFile<any>[]>;
            default: UploadFile<any>[];
        };
        fileList: {
            type: PropType< UploadFile<any>[]>;
            default: UploadFile<any>[];
        };
        action: {
            type: PropType<string | ((file: FileType) => string) | ((file: FileType) => PromiseLike<string>)>;
            default: string | ((file: FileType) => string) | ((file: FileType) => PromiseLike<string>);
        };
        directory: {
            type: BooleanConstructor;
            default: boolean;
        };
        data: {
            type: PropType<Record<string, unknown> | ((file: UploadFile<any>) => Record<string, unknown> | Promise<Record<string, unknown>>)>;
            default: Record<string, unknown> | ((file: UploadFile<any>) => Record<string, unknown> | Promise<Record<string, unknown>>);
        };
        method: {
            type: PropType<"post" | "POST" | "PUT" | "PATCH" | "put" | "patch">;
            default: "post" | "POST" | "PUT" | "PATCH" | "put" | "patch";
        };
        headers: {
            type: PropType<HttpRequestHeader>;
            default: HttpRequestHeader;
        };
        showUploadList: {
            type: PropType<boolean | ShowUploadListInterface>;
            default: boolean | ShowUploadListInterface;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        accept: PropType<string | AcceptConfig>;
        beforeUpload: {
            type: PropType<(file: FileType, FileList: FileType[]) => (string | boolean | void | Blob | FileType) | Promise<string | boolean | void | Blob | FileType>>;
            default: (file: FileType, FileList: FileType[]) => (string | boolean | void | Blob | FileType) | Promise<string | boolean | void | Blob | FileType>;
        };
        onChange: {
            type: PropType<(info: UploadChangeParam<UploadFile<any>>) => void>;
            default: (info: UploadChangeParam<UploadFile<any>>) => void;
        };
        'onUpdate:fileList': {
            type: PropType<(fileList: UploadFile<any>[]) => void>;
            default: (fileList: UploadFile<any>[]) => void;
        };
        onDrop: {
            type: PropType<(event: DragEvent) => void>;
            default: (event: DragEvent) => void;
        };
        listType: {
            type: PropType<UploadListType>;
            default: UploadListType;
        };
        onPreview: {
            type: PropType<(file: UploadFile<any>) => void>;
            default: (file: UploadFile<any>) => void;
        };
        onDownload: {
            type: PropType<(file: UploadFile<any>) => void>;
            default: (file: UploadFile<any>) => void;
        };
        onReject: {
            type: PropType<(fileList: FileType[]) => void>;
            default: (fileList: FileType[]) => void;
        };
        onRemove: {
            type: PropType<(file: UploadFile<any>) => boolean | void | Promise<boolean | void>>;
            default: (file: UploadFile<any>) => boolean | void | Promise<boolean | void>;
        };
        remove: {
            type: PropType<(file: UploadFile<any>) => boolean | void | Promise<boolean | void>>;
            default: (file: UploadFile<any>) => boolean | void | Promise<boolean | void>;
        };
        supportServerRender: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        prefixCls: StringConstructor;
        customRequest: {
            type: PropType<(options: UploadRequestOption<any>) => void>;
            default: (options: UploadRequestOption<any>) => void;
        };
        withCredentials: {
            type: BooleanConstructor;
            default: boolean;
        };
        openFileDialogOnClick: {
            type: BooleanConstructor;
            default: boolean;
        };
        locale: {
            type: PropType<UploadLocale>;
            default: UploadLocale;
        };
        id: StringConstructor;
        previewFile: {
            type: PropType<(file: Blob | FileType) => PromiseLike<string>>;
            default: (file: Blob | FileType) => PromiseLike<string>;
        };
        transformFile: {
            type: PropType<(file: FileType) => string | Blob | FileType | PromiseLike<string | Blob | FileType>>;
            default: (file: FileType) => string | Blob | FileType | PromiseLike<string | Blob | FileType>;
        };
        iconRender: {
            type: PropType<(opt: {
                file: UploadFile<any>;
                listType?: UploadListType;
            }) => VueNode>;
            default: (opt: {
                file: UploadFile<any>;
                listType?: UploadListType;
            }) => VueNode;
        };
        isImageUrl: {
            type: PropType<(file: UploadFile<any>) => boolean>;
            default: (file: UploadFile<any>) => boolean;
        };
        progress: {
            type: PropType<UploadListProgressProps>;
            default: UploadListProgressProps;
        };
        itemRender: {
            type: PropType<ItemRender<any>>;
            default: ItemRender<any>;
        };
        maxCount: NumberConstructor;
        height: {
            type: PropType<unknown>;
            default: unknown;
        };
        removeIcon: {
            type: PropType<(opt: {
                file: UploadFile<any>;
            }) => VueNode>;
            default: (opt: {
                file: UploadFile<any>;
            }) => VueNode;
        };
        downloadIcon: {
            type: PropType<(opt: {
                file: UploadFile<any>;
            }) => VueNode>;
            default: (opt: {
                file: UploadFile<any>;
            }) => VueNode;
        };
        previewIcon: {
            type: PropType<(opt: {
                file: UploadFile<any>;
            }) => VueNode>;
            default: (opt: {
                file: UploadFile<any>;
            }) => VueNode;
        };
        pastable: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        progress: UploadListProgressProps;
        type: UploadType;
        height: unknown;
        data: Record<string, unknown> | ((file: UploadFile<any>) => Record<string, unknown> | Promise<Record<string, unknown>>);
        onDrop: (event: DragEvent) => void;
        onChange: (info: UploadChangeParam<UploadFile<any>>) => void;
        multiple: boolean;
        disabled: boolean;
        method: "post" | "POST" | "PUT" | "PATCH" | "put" | "patch";
        locale: UploadLocale;
        removeIcon: (opt: {
            file: UploadFile<any>;
        }) => VueNode;
        action: string | ((file: FileType) => string) | ((file: FileType) => PromiseLike<string>);
        remove: (file: UploadFile<any>) => boolean | void | Promise<boolean | void>;
        capture: boolean | "user" | "environment";
        itemRender: ItemRender<any>;
        iconRender: (opt: {
            file: UploadFile<any>;
            listType?: UploadListType;
        }) => VueNode;
        onRemove: (file: UploadFile<any>) => boolean | void | Promise<boolean | void>;
        directory: boolean;
        headers: HttpRequestHeader;
        onReject: (fileList: FileType[]) => void;
        beforeUpload: (file: FileType, FileList: FileType[]) => (string | boolean | void | Blob | FileType) | Promise<string | boolean | void | Blob | FileType>;
        customRequest: (options: UploadRequestOption<any>) => void;
        withCredentials: boolean;
        openFileDialogOnClick: boolean;
        pastable: boolean;
        fileList: UploadFile<any>[];
        defaultFileList: UploadFile<any>[];
        showUploadList: boolean | ShowUploadListInterface;
        'onUpdate:fileList': (fileList: UploadFile<any>[]) => void;
        listType: UploadListType;
        onPreview: (file: UploadFile<any>) => void;
        onDownload: (file: UploadFile<any>) => void;
        supportServerRender: boolean;
        previewFile: (file: Blob | FileType) => PromiseLike<string>;
        transformFile: (file: FileType) => string | Blob | FileType | PromiseLike<string | Blob | FileType>;
        isImageUrl: (file: UploadFile<any>) => boolean;
        downloadIcon: (opt: {
            file: UploadFile<any>;
        }) => VueNode;
        previewIcon: (opt: {
            file: UploadFile<any>;
        }) => VueNode;
    }> | null;
}, HTMLDivElement>;
export default _default;
