import type { DiagnosticName } from "./diagnostics.js"; /** * Long-form explanation per diagnostic, in Markdown. * * EXHAUSTIVE BY TYPE: `Record` — adding a registry * entry without an explanation here is a COMPILE error, not a test failure. * That is the whole point; never weaken this to Partial or Record. * * A retired/deprecated registry entry STILL needs an explanation here — the * docs keep explaining a code a user may still see from an older compiler. * Do not "clean up" an entry when a diagnostic is retired. * * Convention per entry: one short what/why paragraph, then fix guidance. * 2-4 sentences for most; longer for high-traffic codes (assignability, * undefined names, strict member access, exhaustiveness). A small Agency * example is welcome but MUST parse — fence it as ```agency and it is * verified by diagnosticExplanations.test.ts. A snippet that shows WRONG * code must NOT be tagged ```agency (use a plain fence) so the parser gate * skips it. Do NOT quote a raw message template with live {placeholders}; * write concrete values instead, and keep any braces inside a code span * (the leak test rejects an unrendered {word} outside code). */ export declare const DIAGNOSTIC_EXPLANATIONS: Record;