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;
    };
};
