import React, { FC, InputHTMLAttributes } from 'react'; import { NativeProps } from '../../utils/native-props'; import type { ImageProps } from '../image'; export declare type TaskStatus = 'pending' | 'fail' | 'success'; export interface ImageUploadItem { key?: string | number; url: string; thumbnailUrl?: string; extra?: any; } declare type Task = { id: number; url?: string; file: File; status: TaskStatus; }; export declare type UploadTask = Pick; export declare type ImageUploaderProps = { defaultValue?: ImageUploadItem[]; value?: ImageUploadItem[]; onChange?: (items: ImageUploadItem[]) => void; onUploadQueueChange?: (tasks: UploadTask[]) => void; accept?: string; multiple?: boolean; maxCount?: number; onCountExceed?: (exceed: number) => void; disableUpload?: boolean; showUpload?: boolean; deletable?: boolean; capture?: InputHTMLAttributes['capture']; onPreview?: (index: number, item: ImageUploadItem) => void; beforeUpload?: (file: File, files: File[]) => Promise | File | null; upload: (file: File) => Promise; onDelete?: (item: ImageUploadItem) => boolean | Promise | void; preview?: boolean; showFailed?: boolean; imageFit?: ImageProps['fit']; children?: React.ReactNode; renderItem?: (originNode: React.ReactElement, file: ImageUploadItem, fileList: ImageUploadItem[]) => React.ReactNode; } & NativeProps<'--cell-size'>; export declare const ImageUploader: FC; export {};