/** * PRI-361 Quality Scorecard — Runtime Validation * * Pure validation functions for untrusted data from DB rows, LLM responses, CLI opts. * ZERO I/O — no fs, fetch, database, process.env. */ import { type RubricDimension, type RubricScore, type PainEpisode, type LocalEvaluation, type AdjudicationStatus, type ScorecardOptions } from './types.js'; export declare function escapeHtml(text: string): string; export declare function escapeMarkdownTable(text: string): string; export declare function isValidRubricScore(value: unknown): value is RubricScore; export declare function parseRubricScore(value: unknown): RubricScore; export declare function validateDimensionScores(raw: Record): Record; export interface ValidatedLlmScores { scores: Record; rationales: Record; flags: string[]; } export declare function validateLlmScoreResponse(raw: unknown): ValidatedLlmScores; export declare function validateAdjudicationResponse(raw: unknown): { scores: Record; rationale: string; verdict: AdjudicationStatus; }; export interface ValidatedPainRow { id: number; session_id: string; source: string; score: number; reason: string; severity: string; created_at: string; } export declare function validatePainRow(raw: unknown): ValidatedPainRow | null; export interface ValidatedEvolutionRow { task_id: string; score: number; status: string; resolution: string | null; created_at: string; } export declare function validateEvolutionRow(raw: unknown): ValidatedEvolutionRow | null; export interface ValidatedPrincipleEventRow { principle_id: string | null; event_type: string; created_at: string; } export declare function validatePrincipleEventRow(raw: unknown): ValidatedPrincipleEventRow | null; export interface ValidatedGateRow { session_id: string; cnt: number; } export declare function validateGateRow(raw: unknown): ValidatedGateRow | null; export interface ValidationError { field: string; message: string; } export declare function validateCliOptions(raw: Record): { options: ScorecardOptions; errors: ValidationError[]; }; export declare function extractJsonFromLlmResponse(text: string): unknown | null; export declare function sanitize(text: string): string; export declare function truncate(text: string, maxLen?: number): string; export interface AdjudicationDecision { shouldAdjudicate: boolean; reason: string; priority: 'critical' | 'high' | 'medium' | 'low'; } export declare function needsAdjudication(episode: PainEpisode, localEval: LocalEvaluation): AdjudicationDecision; export declare function determineFinalLabel(localEval: LocalEvaluation, adjudication: { adjudicationStatus: AdjudicationStatus; } | null): AdjudicationStatus; //# sourceMappingURL=validation.d.ts.map