import { AxiosResponse } from "axios"; import { FILE_STATUS } from "./base"; export declare type UploadSetting = { base?: UploadBasePropsType; file?: UploadBasePropsType & UploadFilePropsType; image?: UploadBasePropsType & UploadImagePropsType; }; export declare type FileObj = { _fileId: number; status: FILE_STATUS; progress?: number; raw: File; size?: number; sizeFormat?: number; [key: string]: any; }; export declare type UploadFilePropsType = { accept?: string; onTitleClick?: (fileObj: any) => {}; buttonText: string; }; export declare type UploadBasePropsType = { url?: string; baseURL?: string; name?: string; tip?: string; multiple?: boolean; maxSize?: number; totalMaxSize?: number; timeout?: number; retryNum?: number; chunk?: boolean; chunkSize?: number; nameField?: string; urlField?: string; download?: boolean; disabled?: boolean; value?: [any[], Dictionary]; errorItemVisible?: boolean; params?: Dictionary; headers?: Dictionary; onSizeError?: (error: Error, fileObj: FileObj) => {}; onProgress?: (event: Event, fileObj: FileObj, type: 'upload' | 'download') => {}; onUploadSuccess?: (response: AxiosResponse, fileObj: FileObj) => {}; onUploadCancel?: (error: Error, fileObj: FileObj) => {}; onUploadError?: (error: Error, fileObj: FileObj) => {}; onInput?: (fileList: FileObj[]) => {}; onDownloadAfter?: (fileObj: FileObj) => {}; onDelete?: (fileObj: FileObj) => {}; beforeSend?: (fileObj: FileObj) => Promise; chunkBeforeSend?: (chunk: any, fileObj: FileObj) => Promise; chunkUploadComplete?: (fileObj: FileObj) => Promise; }; export declare type UploadImagePropsType = { accept?: string; base64?: boolean; quality?: number; };