import type { TdUploadProps, UploadFile } from 'tdesign-vue-next'; export interface QdUploadXhrOptions { method?: string; action: string; withCredentials?: boolean; headers?: Record; data?: Record | ((files: UploadFile[]) => Record); name?: string; formatRequest?: (requestData: Record) => Record; useMockProgress?: boolean; mockProgressDuration?: number; timeout: number; onProgress?: TdUploadProps['onProgress']; } export interface QdUploadRequestResult { status: 'success' | 'fail'; error?: 'timeout' | 'error' | 'fail'; response: Record; } export declare function calcUploadTimeout(baseTimeout: number, size: number): number; export declare function uploadByXhr(files: UploadFile[], options: QdUploadXhrOptions): Promise;