import { FileProp } from '../FileCard'; export declare type UploadFileStatus = 'error' | 'success' | 'done' | 'uploading' | 'removed'; export interface UploadFile { uid: string; size?: number; name: string; fileName?: string; lastModified?: number; lastModifiedDate?: Date; url?: string; status?: UploadFileStatus; percent?: number; thumbUrl?: string; originFileObj?: any; response?: any; error?: any; linkProps?: any; type?: string; xhr?: any; preview?: string; } interface UploadChangeParam { file: any; fileList: UploadFile[]; event?: { percent: number; }; } interface UploadProgressEvent extends ProgressEvent { percent: number; } declare type UploadRequestMethod = 'POST' | 'PUT' | 'PATCH' | 'post' | 'put' | 'patch'; declare type UploadRequestHeader = Record; interface UploadRequestError extends Error { status?: number; method?: UploadRequestMethod; url?: string; } declare type BeforeUploadFileType = File | Blob | boolean | string; interface UploadRequestOption { onProgress?: (event: UploadProgressEvent) => void; onError?: (event: UploadRequestError | ProgressEvent, body?: T) => void; onSuccess?: (body: T, xhr: XMLHttpRequest) => void; data?: any; filename?: string; file: Exclude | RcFile; withCredentials?: boolean; action: string; headers?: UploadRequestHeader; method: UploadRequestMethod; } interface RcFile extends File { uid: string; } declare type DragAndDropProps = { name: string; disabled?: boolean; multiple?: boolean; fileList?: Array; onRetry: () => void; onRemove: (file: FileProp) => void; onChange?: (info: UploadChangeParam) => void; customRequest?: (options: UploadRequestOption) => void; }; export declare const PhenomDragAndDrop: ({ multiple, fileList, onRemove, onRetry, ...props }: DragAndDropProps) => JSX.Element; export {};