import { type AffectedNode } from "../../query/diff.js"; import { type Inv1CheckResult } from "../../validate/inv1/check.js"; import type { T0Result, Violation } from "../../validate/types.js"; export interface CheckOptions { repoRoot?: string | undefined; strictAnchorExistence?: boolean | undefined; /** `--diff `: incremental mode (B2) — scan only the diff closure + map affected nodes. */ diffBase?: string | undefined; } export interface DiffInfo { baseRef: string; /** repo-relative files changed in repoRoot's diff (undefined = couldn't resolve → full scan fallback). */ changed?: string[]; /** model nodes whose anchors point at a changed file. */ affected: AffectedNode[]; /** true when INV-1 ran incrementally (only changed candidate files). */ incremental: boolean; } export interface CheckResult { t0: T0Result; /** Present only when a repoRoot is given AND a valid .loopgraph/config.json is found. */ inv1?: Inv1CheckResult; /** Set when a config file exists but is malformed — a loud error, not a silent skip. */ inv1ConfigError?: string; /** Present only with `--diff`. */ diff?: DiffInfo; /** baseline-growth violations from `--diff` (new debt ids vs the base ref). */ baselineViolations?: Violation[]; } /** * Runs T0 (model + optional anchor existence), the INV-1 canonical-writer scan * (when a repoRoot + config are present), and — with `--diff ` — the * incremental B2 path: resolve the diff, scan INV-1 over only the changed files, * map changed files to affected model nodes, and enforce baseline-only-decreases * against the model at the base ref. */ export declare function runCheck(targetDir: string, options?: CheckOptions): Promise; //# sourceMappingURL=check.d.ts.map