/**
 * Event-inspection primitives: `tool_name`, `tool_args`, `cwd`,
 * `last_assistant_message`, `match_command`.
 *
 * Note on `require-await`: the `FunctionDef.execute` contract is
 * `Promise<Result<...>>`. These five primitives are pure reads off
 * `EvalCtx.event` — no awaitable work to do. We satisfy the contract by
 * declaring the methods `async` (which wraps the return value in a Promise)
 * and disable `@typescript-eslint/require-await` for this file. Future
 * primitives in this file should keep the file-level disable as-is.
 *
 * Per `docs/opensquid-real-design.md` §"Phase 1 — Runtime skeleton" (event
 * inspection primitives). These five primitives are the read-only accessors
 * skills compose to interrogate the current `Event` carried in `EvalCtx`.
 *
 * Wrong-kind discipline: every accessor returns `ok(null)` (or `ok(false)`
 * for `match_command`) when the event kind doesn't match what the accessor
 * expects. NEVER throws, NEVER errs — wrong-kind is a normal control-flow
 * signal that skills branch on, not a failure. The evaluator's stray-throw
 * wrapper is reserved for genuine bugs.
 *
 * `match_command` shallow-path contract: `target` is `tool_args.<field>` and
 * resolves only one level deep. Nested paths (e.g. `tool_args.input.text`)
 * are out of scope for Phase 1 — skills can pre-stage a deeper field via a
 * future accessor primitive. Bad regex returns `err({ kind: 'arg_invalid' })`
 * rather than throwing so the evaluator's per-step error path picks it up
 * cleanly.
 *
 * Imports from: zod, ../runtime/result.js, ./registry.js.
 * Imported by: src/functions/index.ts (registry wiring).
 */
import type { FunctionRegistry } from './registry.js';
export declare function registerEventFunctions(registry: FunctionRegistry): void;
//# sourceMappingURL=event.d.ts.map