/**
 * `file_write` primitive — gated arbitrary-path file writer (AUTO.3).
 *
 * Distinct from `write_state` (in `./state.ts`), which writes ONLY into
 * `~/.opensquid/sessions/<id>/state/` or `~/.opensquid/packs/<id>/state/`.
 * `file_write` is the primitive that handles user-content writes (skill
 * outputs, generated reports, ingest results) and so must pass through
 * the capability gate.
 *
 * Atomicity: tmp-file + rename, same idiom as `state.atomicWriteJson`.
 *
 * Gate posture: the gate runs BEFORE the write — a denial returns an
 * `err({ kind: 'runtime', ... })` with the gate's audit message. The
 * filesystem is never touched on deny.
 *
 * Encoding: UTF-8 only at this layer. Binary writes are out of scope for
 * Phase 1; if needed, a future `file_write_binary` primitive lands with
 * a Base64-encoded `content` arg.
 *
 * Imports from: zod, node:fs/promises, node:path, ../runtime/result.js,
 *   ../runtime/capability_gate.js, ./registry.js.
 * Imported by: src/functions/index.ts (registry wiring).
 */
import type { CapabilityGate } from '../runtime/capability_gate.js';
import type { FunctionRegistry } from './registry.js';
/**
 * Register the `file_write` primitive. `cwd` resolves relative paths so
 * the gate sees an absolute path (built-in path denies use absolute
 * minimatch globs).
 */
export declare function registerFileWriteFunction(registry: FunctionRegistry, opts: {
    gate: CapabilityGate;
    cwd?: string;
}): void;
//# sourceMappingURL=file_write.d.ts.map