import type { HookRegistry } from '../hooks/registry.js'; import { InterventionHandler } from './handler.js'; /** * Bridges {@link InterventionHandler} instances and the Strands hook system. * * Registers one hook callback per lifecycle event type, then dispatches to * all handlers that override that method — in registration order, with * short-circuiting on Deny (and denied Confirms) and accumulation for Guide. * * See {@link InterventionAction} for the action-to-event compatibility matrix. */ export declare class InterventionRegistry { private readonly _handlers; constructor(handlers: InterventionHandler[], hookRegistry: HookRegistry); /** Registered handlers in registration order. */ get handlers(): readonly InterventionHandler[]; private _registerHooks; private _onBeforeInvocation; private _onBeforeToolCall; private _onAfterToolCall; private _onBeforeModelCall; private _onAfterModelCall; /** * Iterate handlers in registration order and resolve the winning action. * * - Deny short-circuits immediately (remaining handlers are skipped). * - Confirm pauses for human input; if denied short-circuits, if approved continues. * - Guide feedback strings accumulate across handlers and are applied at the end. * - Transform is applied in-place so later handlers see the mutation. * - If a handler throws, behavior depends on {@link InterventionHandler.onError}: * `'throw'` (default) rethrows, `'deny'` fails closed, `'proceed'` skips. */ private _dispatch; private _handleError; } //# sourceMappingURL=registry.d.ts.map