/**
 * # frame/brief — the BRIEF content-hash + constructor (ADR-0026)
 *
 * The OSS side of the {@link ./types.ts Brief} (the soft, directional English channel): it RENDERS a
 * brief supplied by the cell/config and binds its CONTENT HASH into provenance (`brief_hash`, sibling
 * to `promptHash`), so "this performance came from this thesis" is attributable. It does NOT build
 * the platform Brief/Journal/Thesis lifecycle (that is a kestrel.markets artifact).
 *
 * **HARD GUARD (ADR-0026):** a Brief is unvalidated free text that can NEVER enter admission /
 * narrowing / bounded-risk — only the {@link ./types.ts Mandate}/envelope do. This module only
 * HASHES + CONSTRUCTS a Brief; nothing here touches the narrowing algebra.
 *
 * **HONESTY, BY CONSTRUCTION + AT THE HASH-COMMIT SEAM (kestrel-voy9).** {@link makeBrief} is the
 * honest constructor — it computes the hash from the text, so a Brief it builds can NEVER carry an
 * attribution that lies about which thesis ran. The complementary half — a Brief that a cell/config
 * supplied as a raw `{ text, hash }` literal (bypassing this constructor) — is verified by
 * {@link assertBriefHashHonest} at the seams where a Brief's hash actually COMMITS to provenance:
 *   - the plan-fixture FREEZE ({@link ../session/harness/plan-fixture.ts capturePlanFixture} /
 *     {@link ../session/harness/plan-fixture.ts readPlanFixture}), where a lying `brief.hash` would
 *     otherwise mint a stable `plan_fixture_sha` that binds the wrong thesis into grade provenance
 *     (ADR-0032 §7) — the grade driver never renders, so this is the load-bearing check; and
 *   - the render seam ({@link ./render.ts buildKernelCellLines}), as defense-in-depth before it
 *     emits the `brief=<hash>` line.
 * The guard is EXPORTED and WIRED at those real drivers (not an inert export nothing calls).
 */
import type { Brief } from "./types.ts";
/** The canonical content hash of a brief's text: `sha256:<64-hex>`. Deterministic + pure — the same
 * text hashes identically, so a rebrief is detectable and a grade can bind exactly which thesis ran. */
export declare function briefHashOf(text: string): string;
/** Construct a {@link Brief} from its directional text (+ optional version), computing its content
 * hash — the HONEST constructor: a Brief built here can never carry a hash that disagrees with its
 * text (dishonest-by-construction is impossible). The cell/config supplies the text; provenance binds
 * {@link Brief.hash}. Pure. */
export declare function makeBrief(text: string, version?: string): Brief;
/**
 * Fail-closed verification that a supplied Brief's `hash` matches its `text` (kestrel-voy9). A cell or
 * an on-disk fixture may carry a raw `{ text, hash }` that bypassed {@link makeBrief}; a mismatch means
 * the attribution would LIE about which thesis ran, so it must never enter a content-address or a
 * rendered provenance line. Throws {@link KernelHonestyError} on mismatch. Pure. WIRED at the
 * plan-fixture freeze/read and the render seam — never a standalone export nothing calls.
 */
export declare function assertBriefHashHonest(brief: Brief): void;
//# sourceMappingURL=brief.d.ts.map