import { ExtractPropTypes, PropType } from 'vue'; export type UploadStatus = 'ready' | 'uploading' | 'success' | 'error'; export type UploadListType = 'text' | 'picture' | 'picture-card'; export interface UploadFile { uid: string; name: string; size?: number; type?: string; status: UploadStatus; percent?: number; url?: string; thumbUrl?: string; raw?: File; response?: any; error?: string; } export type UploadRequestOptions = { file: File; onProgress: (percent: number) => void; onSuccess: (response: any) => void; onError: (error: string) => void; }; export declare const uploadProps: { readonly modelValue: { readonly type: PropType; readonly default: () => never[]; }; readonly action: { readonly type: StringConstructor; readonly default: ""; }; readonly headers: { readonly type: PropType>; readonly default: undefined; }; readonly data: { readonly type: PropType>; readonly default: undefined; }; readonly name: { readonly type: StringConstructor; readonly default: "file"; }; readonly withCredentials: { readonly type: BooleanConstructor; readonly default: false; }; readonly accept: { readonly type: StringConstructor; readonly default: ""; }; readonly multiple: { readonly type: BooleanConstructor; readonly default: false; }; readonly limit: { readonly type: NumberConstructor; readonly default: 0; }; readonly maxSize: { readonly type: NumberConstructor; readonly default: 0; }; readonly disabled: { readonly type: BooleanConstructor; readonly default: false; }; readonly drag: { readonly type: BooleanConstructor; readonly default: false; }; readonly listType: { readonly type: PropType; readonly default: "text"; }; readonly showFileList: { readonly type: BooleanConstructor; readonly default: true; }; readonly autoUpload: { readonly type: BooleanConstructor; readonly default: true; }; readonly customRequest: { readonly type: PropType<(options: UploadRequestOptions) => void | Promise>; readonly default: undefined; }; readonly beforeUpload: { readonly type: PropType<(file: File) => boolean | Promise>; readonly default: undefined; }; readonly tip: { readonly type: StringConstructor; readonly default: ""; }; }; export declare const uploadEmits: { readonly 'update:modelValue': (files: UploadFile[]) => boolean; readonly change: (file: UploadFile, files: UploadFile[]) => boolean; readonly remove: (file: UploadFile, files: UploadFile[]) => boolean; readonly success: (file: UploadFile, response: any) => boolean; readonly error: (file: UploadFile, error: string) => boolean; readonly progress: (file: UploadFile, percent: number) => boolean; readonly exceed: (files: File[], limit: number) => boolean; readonly preview: (file: UploadFile) => boolean; }; export type UploadProps = ExtractPropTypes;