import { ExtractPropTypes, PropType } from 'vue';
import { BeforeUploadValueType, FileType, HttpRequestHeader, ItemRender, PreviewFileHandler, ShowUploadListInterface, TransformFileHandler, UploadChangeParam, UploadFile, UploadListProgressProps, UploadListType, UploadType, VueNode } from '../basic-upload';
import { UploadRequestOption as RcCustomRequestOptions } from '../basic-upload-core/interface';
export declare const basicUploadDraggerProps: {
    capture: PropType<boolean | "user" | "environment">;
    type: PropType<UploadType>;
    name: StringConstructor;
    defaultFileList: PropType<UploadFile<any>[]>;
    fileList: PropType<UploadFile<any>[]>;
    action: PropType<string | ((file: FileType) => string) | ((file: FileType) => PromiseLike<string>)>;
    directory: BooleanConstructor;
    data: PropType<Record<string, unknown> | ((file: UploadFile<any>) => Record<string, unknown> | Promise<Record<string, unknown>>)>;
    method: PropType<"POST" | "post" | "PUT" | "PATCH" | "put" | "patch">;
    headers: PropType<HttpRequestHeader>;
    showUploadList: PropType<boolean | ShowUploadListInterface>;
    multiple: BooleanConstructor;
    accept: StringConstructor;
    beforeUpload: PropType<(file: FileType, FileList: FileType[]) => BeforeUploadValueType | Promise<BeforeUploadValueType>>;
    onChange: PropType<(info: UploadChangeParam<UploadFile<any>>) => void>;
    'onUpdate:fileList': PropType<(fileList: UploadChangeParam<UploadFile<any>>['fileList']) => void>;
    onDrop: PropType<(event: DragEvent) => void>;
    listType: PropType<UploadListType>;
    onPreview: PropType<(file: UploadFile<any>) => void>;
    onDownload: PropType<(file: UploadFile<any>) => void>;
    onReject: PropType<(fileList: FileType[]) => void>;
    onRemove: PropType<(file: UploadFile<any>) => boolean | Promise<undefined | boolean>>;
    /** @deprecated Please use `onRemove` directly */
    remove: PropType<(file: UploadFile<any>) => boolean | Promise<undefined | boolean>>;
    supportServerRender: BooleanConstructor;
    disabled: BooleanConstructor;
    prefixCls: StringConstructor;
    customRequest: PropType<(options: RcCustomRequestOptions) => void>;
    withCredentials: BooleanConstructor;
    openFileDialogOnClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    id: StringConstructor;
    previewFile: PropType<PreviewFileHandler>;
    transformFile: PropType<TransformFileHandler>;
    iconRender: PropType<(opt: {
        file: UploadFile<any>;
        listType?: UploadListType;
    }) => VueNode>;
    isImageUrl: PropType<(file: UploadFile) => boolean>;
    progress: PropType<UploadListProgressProps>;
    itemRender: PropType<ItemRender<any>>;
    maxCount: NumberConstructor;
    height: (NumberConstructor | StringConstructor)[];
    removeIcon: PropType<(opt: {
        file: UploadFile;
    }) => VueNode>;
    downloadIcon: PropType<(opt: {
        file: UploadFile;
    }) => VueNode>;
    previewIcon: PropType<(opt: {
        file: UploadFile;
    }) => VueNode>;
};
export type BasicUploadDraggerProps = ExtractPropTypes<typeof basicUploadDraggerProps>;
export interface BasicUploadDraggerContext {
    name: string;
}
//# sourceMappingURL=interface.d.ts.map