import type { Run, Trial } from "../config/types.js"; import type { AfterTrialContext, BeforeRunContext, EvalPlugin } from "./types.js"; export interface HookDispatcher { readonly beforeRun: (context: BeforeRunContext) => Promise; readonly afterTrial: (trial: Trial, context: AfterTrialContext) => Promise; readonly afterRun: (run: Run) => Promise; } /** * Creates a hook dispatcher from registered plugins. * Hooks execute sequentially in plugin registration order. * afterTrial and afterRun errors are logged and swallowed (non-breaking). * beforeRun errors propagate (breaking). */ export declare function createHookDispatcher(plugins: readonly EvalPlugin[], logger?: { readonly warn: (msg: string) => void; }): HookDispatcher; //# sourceMappingURL=hooks.d.ts.map