import { SchemaIR } from "./types.js"; //#region src/core/diagnostic.d.ts type NodeStatus = "compiled" | "fallback"; interface DiagnosticNode { /** SchemaIR type (e.g. "string", "object", "fallback") */ type: string; /** Dot-separated path from root (e.g. ".name", ".addresses[]") */ path: string; /** Whether this node is compiled or falls back to Zod */ status: NodeStatus; /** Fallback reason when status is "fallback" */ reason?: string; /** Actionable hint for fixing the fallback */ hint?: string; /** Child diagnostic nodes */ children: DiagnosticNode[]; } interface DiagnosticResult { /** Root diagnostic tree */ root: DiagnosticNode; /** Total leaf node count */ total: number; /** Number of compiled leaf nodes */ compilable: number; /** Coverage percentage (0-100) */ coveragePct: number; /** Whether the schema is eligible for Fast Path */ fastPathEligible: boolean; /** Reason Fast Path is ineligible (when fastPathEligible is false) */ fastPathBlocker?: string; /** Flat list of fallback entries for summary display */ fallbacks: { reason: string; path: string; hint: string; }[]; } /** * Diagnose a SchemaIR in a single pass. * Returns a diagnostic tree with coverage stats, Fast Path eligibility, and actionable hints. */ declare function diagnoseSchema(ir: SchemaIR): DiagnosticResult; //#endregion export { DiagnosticNode, DiagnosticResult, NodeStatus, diagnoseSchema }; //# sourceMappingURL=diagnostic.d.ts.map