import type { ExtractPropTypes, PropType } from 'vue'; export declare type BeforeUploadFileType = File | Blob | boolean | string; export declare type Action = string | ((file: RcFile) => string | PromiseLike); export declare const uploadProps: () => { capture: PropType; multipart: { type: BooleanConstructor; default: any; }; name: StringConstructor; disabled: { type: BooleanConstructor; default: any; }; componentTag: PropType; action: PropType; method: PropType; directory: { type: BooleanConstructor; default: any; }; data: PropType | ((file: RcFile | string | Blob) => Record)>; headers: PropType; accept: StringConstructor; multiple: { type: BooleanConstructor; default: any; }; onBatchStart: PropType<(fileList: { file: RcFile; parsedFile: Exclude; }[]) => void>; onReject: PropType<(fileList: RcFile[]) => void>; onStart: PropType<(file: RcFile) => void>; onError: PropType<(error: Error, ret: Record, file: RcFile) => void>; onSuccess: PropType<(response: Record, file: RcFile, xhr: XMLHttpRequest) => void>; onProgress: PropType<(event: UploadProgressEvent, file: RcFile) => void>; beforeUpload: PropType<(file: RcFile, FileList: RcFile[]) => BeforeUploadFileType | Promise>; customRequest: PropType<(option: UploadRequestOption) => void>; withCredentials: { type: BooleanConstructor; default: any; }; openFileDialogOnClick: { type: BooleanConstructor; default: any; }; prefixCls: StringConstructor; id: StringConstructor; onMouseenter: PropType<(e: MouseEvent) => void>; onMouseleave: PropType<(e: MouseEvent) => void>; onClick: PropType<(e: MouseEvent | KeyboardEvent) => void>; }; export declare type UploadProps = Partial>>; export interface UploadProgressEvent extends Partial { percent?: number; } export declare type UploadRequestMethod = 'POST' | 'PUT' | 'PATCH' | 'post' | 'put' | 'patch'; export declare type UploadRequestHeader = Record; export interface UploadRequestError extends Error { status?: number; method?: UploadRequestMethod; url?: string; } export interface UploadRequestOption { onProgress?: (event: UploadProgressEvent) => void; onError?: (event: UploadRequestError | ProgressEvent, body?: T) => void; onSuccess?: (body: T, xhr?: XMLHttpRequest) => void; data?: Record; filename?: string; file: Exclude | RcFile; withCredentials?: boolean; action: string; headers?: UploadRequestHeader; method: UploadRequestMethod; } export interface RcFile extends File { uid: string; }