export interface IdentificationData { product: string; standards: string; manufacturer: string; certificateNumber: string; certificateDate: string; batches: string; heats: string; quantity: string; } export interface ComplianceItem { property?: string; element?: string; test?: string; norm: string; certificate: string; status: 'OK' | 'FALHA'; differencePercentage?: string; } export interface ComplianceData { status: 'CONFORME' | 'NÃO CONFORME'; nonComplianceReason?: string; mechanical: ComplianceItem[]; chemical: ComplianceItem[]; otherTests: ComplianceItem[]; } export interface OverPerformanceItem { property: string; value: string; } export interface EquivalentItem { system: string; norm: string; } export interface ReportData { confidence: number; analysisSource?: string; identification: IdentificationData; compliance: ComplianceData; overPerformance: OverPerformanceItem[]; equivalents: EquivalentItem[]; } // --- NEW STANDARD DEFINITIONS --- export interface ToleranciaTabela { limite_corrida_ate?: number; espessura_ate_mm?: number; espessura_maior_que_mm?: number; tolerancia_mais?: number; tolerancia_menos?: number; } export interface RegraTolerancia { regra?: string; tabela?: ToleranciaTabela[]; tolerancia_mais?: number; tolerancia_menos?: number; } export interface ToleranciasAnaliseProduto { [elemento: string]: RegraTolerancia; } export interface LimitesQuimicos { espessura_max_mm?: number; grupos_astm_a6?: number[]; nota_exemplo?: string; [elemento: string]: number | string | number[] | undefined; } export interface Standard { id_norma: string; codigo: string; grau?: string; produto_especifico?: string; limites_quimicos_corrida?: { [grupo_produto: string]: LimitesQuimicos[]; }; tolerancias_analise_produto_astma6?: ToleranciasAnaliseProduto; parametros_controle?: { mecanicos?: Record; quimicos?: Record; fisicos?: Record; }; }