/**
 * effective_content (T-FLOW-AUDIT-ARTIFACT) — the artifact content that WILL
 * exist AFTER the pending Write/Edit/MultiEdit, so a content audit reviews the
 * REAL resulting file regardless of tool shape.
 *
 * The flaw it fixes: the SCOPE/AUTHOR content audits read `{{targs.content}}`,
 * which is populated ONLY for the Write tool. The Edit tool carries
 * `old_string`/`new_string` (no `content`), so refining a doc via Edit — the
 * normal authoring loop — fed the audit an EMPTY string. The audit then never
 * returns GUESS_FREE/SPEC_COMPLETE and the FSM never advances; the flow becomes
 * un-completable through iterative editing (verified 2026-06-06).
 *
 * Resolution: compute the post-change content here. Write → `content` verbatim.
 * Edit → read the current file and apply `old_string`→`new_string`. MultiEdit →
 * apply each edit in order. Any other tool / non-tool_call event → ''.
 *
 * PreToolUse timing: the hook fires BEFORE the write lands, so the on-disk file
 * is the PRE-change version — exactly what we need to apply the pending edit to.
 *
 * Fail-soft: an unreadable file or malformed args → '' (the audit then sees
 * empty and fails CLOSED — no false pass). Never throws.
 *
 * Imports from: node:fs/promises, zod, ../runtime/result.js.
 * Imported by: src/runtime/bootstrap.ts (registry wiring).
 */
import { z } from 'zod';
import type { FunctionDef } from './registry.js';
declare const EmptyArgs: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
export declare const EffectiveContent: FunctionDef<z.input<typeof EmptyArgs>, string>;
export {};
//# sourceMappingURL=effective_content.d.ts.map