/** Opening marker of the generated block, as it appears in GUARD_MATRIX.md. */ export declare const GUARD_INDEX_BEGIN = ""; /** Closing marker. Everything between the two is machine-owned; everything outside is prose. */ export declare const GUARD_INDEX_END = ""; /** How much of a layer's doc is rendered from code. Data-only → a class, per CLAUDE.md. */ export declare class LayerGeneration { /** `L0`, `L1`, … as the doc prints it. */ readonly layer: string; /** The question this layer answers, for the layer table. */ readonly goal: string; /** The `webpieces.config.json` key, or '' when the layer has none on purpose. */ readonly configKey: string; /** Repo-relative path of the layer's doc. */ readonly doc: string; /** The array the doc is rendered FROM, or '' when nothing is generated yet. */ readonly source: string; /** The status cell, verbatim. */ readonly status: string; constructor( /** `L0`, `L1`, … as the doc prints it. */ layer: string, /** The question this layer answers, for the layer table. */ goal: string, /** The `webpieces.config.json` key, or '' when the layer has none on purpose. */ configKey: string, /** Repo-relative path of the layer's doc. */ doc: string, /** The array the doc is rendered FROM, or '' when nothing is generated yet. */ source: string, /** The status cell, verbatim. */ status: string); /** The config-key cell — layers with no key say so, and say it is deliberate. */ keyCell(): string; sourceCell(): string; } /** * THE FIVE LAYERS, and how much of each doc is machine-owned. * * Adding a layer, or converting one to generated, is an edit HERE and nowhere else — the index table, * the layer table and the one-command sentence all render from this array, so they cannot disagree * with each other the way the hand-written version did. */ export declare const LAYER_GENERATION: readonly LayerGeneration[]; /** * The generated block of GUARD_MATRIX.md, and the splice that puts it there. * * Same class shape as L0ToolingDoc — renderer, extractor and splicer as one unit, driven by one spec. */ export declare class GuardIndexDoc { /** The whole generated block, WITHOUT the markers — those belong to the file, not the renderer. */ render(): string; /** * The generated text of `doc`, exactly as committed. Throws when a marker is missing or doubled — * a silently-unspliced doc is the drift this arrangement exists to end. */ extract(doc: string): string; /** `doc` with the generated block replaced by today's render. Preserves every byte outside it. */ splice(doc: string): string; private preamble; private statusTable; private layerTable; private generatedWholeCount; }