export interface UploadProps { action: string; multiple?: boolean; defaultFileList?: UploadFile[]; beforeUpload?: (file: File) => boolean | Promise; onProgress?: (percentage: number, file: File) => void; onSuccess?: (data: any, file: File) => void; onError?: (error: any, file: File) => void; onChange?: (file: File) => void; onRemove?: (file: UploadFile) => void; headers?: { [key: string]: any; }; name?: string; data?: { [key: string]: any; }; withCredentials?: boolean; accept?: string; drag?: boolean; } export type UploadFileStatus = 'ready' | 'uploading' | 'success' | 'error'; export interface UploadFile { name: string; size: number; uid: string; status: UploadFileStatus; percent?: number; raw?: File; response?: any; error?: any; } export interface UploadListProps { fileList: UploadFile[]; onRemove: (_file: UploadFile) => void; }