export interface FileUploadState { id: string; name: string; file: File; pending: boolean; progress: number; remoteId?: string; error?: string; isEditing?: boolean; uploadPromise?: any; } export interface UploadedFile { name: string; originalName: string; remoteId: string; } export interface FileItemProps { file: FileUploadState; canEdit?: boolean; onNameChange?: (id: string, newName: string) => void; onDelete?: (id: string) => void; onEdit?: (id: string) => void; onCancelUpload?: (id: string) => void; } export type UploadResult = { success: boolean; remoteId?: string; errors?: { [key: string]: string; }; };