export interface CheckResult { name: string; passed: boolean; reason: string; } // Single analysis returns HTML string in result_table export interface SingleAnalysisReport { classification: string; detailed_results: [string, string | number][]; html?: string; // Keeping for backward compatibility if needed, but optional } // Added AnalysisReport for geminiService export interface AnalysisReport { isCompliant: boolean; overallScore: number; checks: CheckResult[]; } // Batch analysis streams JSON updates export interface BatchStreamResult { filename: string; status: 'pass' | 'fail' | 'error'; score?: number; details?: string; labels?: string[]; error?: string; } export interface BatchItem { id: string; file: File; previewUrl: string; status: 'pending' | 'processing' | 'completed' | 'error'; result?: 'pass' | 'fail'; score?: number; labels?: string[]; error?: string; } export type ViewState = 'home' | 'single' | 'batch';