export type UploadRequestMethod = 'POST' | 'PUT' | 'PATCH' | 'post' | 'put' | 'patch'; export type BeforeUploadFileType = File | Blob | boolean | string; export type UploadRequestHeader = Record; export interface XTFile extends File { uuid?: string; } export interface UploadProgressEvent extends ProgressEvent { percent: number; } export interface UploadRequestError { 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?: object; filename?: string; file: Exclude | File; withCredentials?: boolean; action: string; headers?: UploadRequestHeader; method: UploadRequestMethod; } declare const upload: (option: UploadRequestOption) => { abort(): void; }; export default upload;