/** * Building a declaration: hashing the judged paths against the tree, and the * detect result the producer substitutes when that build fails. Split from * `judged-declaration.ts`, which carries the grammar and the parser. */ import { type JudgedDeclaration, type JudgedParseFailure } from './judged-declaration.js'; /** * Build the declaration for one audit run from the slice's own identifiers. * The caller passes its own input object straight through, so the producer * needs one call rather than an argument list it would have to grow a branch * to guard. */ export declare function buildJudgedDeclarationFor(input: { readonly projectRoot: string; readonly sessionId: string; readonly rid: string; readonly generatedAt: string; readonly judgedPaths: readonly string[]; }): { ok: true; declaration: JudgedDeclaration; handoffHash: string; } | JudgedParseFailure; /** Build a declaration from concrete paths, hashing each against the tree. * `roots` is always empty here: no producer in this repo emits a directory * root yet, so the gained-path arm is reachable only through the grammar, not * through a run. The check supports it and tests it; this builder does not * offer it. */ export declare function buildJudgedDeclaration(input: { readonly projectRoot: string; readonly judgedAt: string; readonly handoffHash: string; readonly paths: readonly string[]; }): { ok: true; declaration: JudgedDeclaration; } | { ok: false; code: string; detail: string; }; /** * The rendered section for a set of paths, for a producer that has a project * root and a file list but no handoff capsule. Returns an empty string when * nothing can be declared — the artifact is then refused by the check, which is * the contract's whole point rather than a fallback to fix here. */ export declare function renderJudgedSection(projectRoot: string, paths: readonly string[]): string;