/** * HookDispatcher — runs registered hooks for a payload and aggregates results. * * Deny wins over allow; modifiedInput is merged in priority order; stdout * fragments are concatenated. exitCode follows the first non-zero. */ import type { HookConfigManager, HookRegistration, UnifiedHookPayload, UnifiedHookResult } from './hooks.js'; import type { BuiltInHooksRegistry } from './builtin-hooks.js'; export interface DispatchOptions { /** Override env passed to command/script hooks. */ env?: NodeJS.ProcessEnv; /** Working directory for command/script hooks. */ cwd?: string; /** Timeout per external hook (ms). */ timeoutMs?: number; } export declare class HookDispatcher { private readonly config; private readonly builtins; constructor(config: HookConfigManager, builtins: BuiltInHooksRegistry); dispatch(payload: UnifiedHookPayload, opts?: DispatchOptions): Promise; runAll(regs: HookRegistration[], payload: UnifiedHookPayload, opts: DispatchOptions): Promise; private runOne; }