import { HTMLAttributes } from 'react'; import { DropzoneOptions } from 'react-dropzone'; import { BaseComponentProps, SizeValue } from '../../types'; export interface FileItem { id: string; file: File | Blob; } export interface UploadAreaProps extends BaseComponentProps { label?: string; files?: FileItem[]; defaultFiles?: FileItem[]; height?: SizeValue; width?: SizeValue; multiple?: boolean; preview?: boolean; dropzoneOptions?: Partial; containerProps?: HTMLAttributes; onUpload?: (files: File[]) => void; onChange?: (files: FileItem[]) => void; onRemove?: (file: FileItem) => void; } export interface FilePreviewProps { file: File; onDelete: () => void; }