import type { ModelGraph } from "../loader/model-graph.js"; import type { Violation } from "./types.js"; /** * The two-tier crux match itself, extracted so `verified_by`'s text anchors * (schema `TestTextAnchor`) run the SAME matcher rather than a second one that * could drift from it — the two features make the same promise to the author * ("this text is still in that file"), so they must agree on what that means. * 1. exact substring of the raw text; * 2. whitespace-stripped substring — survives re-indentation and reflow. */ export declare function fileContainsCruxText(content: string, text: string): boolean; /** * Check that every `crux[].text` still appears in its anchored file * (Proposal 013 B2). Two-tier matching: * 1. Exact substring match of the raw `text` in the file content. * 2. Whitespace-normalized match (both sides trimmed per line, internal * whitespace collapsed) — survives pure formatting changes. * * Always a warning, never promoted by `--strict-anchors` — same posture * as anchor-symbol, for the same reason: text matching's false-negative * rate on legitimate refactors must stay cheap. * * Also validates that each crux's `anchor` references one of the node's * own `anchors` (referential integrity within the node). */ export declare function checkAnchorCrux(graph: ModelGraph, repoRoot: string): Promise; //# sourceMappingURL=crux.d.ts.map