import type { PluginHookEvent, PluginHookResult } from '../../types/plugin/index.js'; /** * Interpret hook results from non-tool lifecycle events (run_start, run_end, * iteration_start, iteration_end, pre_llm_call, post_llm_call). These contexts * carry no mutable payload, so only `continue` and `error` are meaningful. * * Throws on `error` (propagated to run-failure path) or on action misuse * (skip / modify / retry / resume have no defined contract here). */ export declare function applyLifecycleHookResults(event: PluginHookEvent, results: readonly PluginHookResult[]): string[]; /** * What a `pre_tool_use` hook's SKIP goes back to the model as. * * A function rather than a template at the one call site, because the text is * a SIGNAL as well as prose. A skipped call gets a non-error receipt — the * hook refused it, nothing failed — so the transcript's only record that the * tool never ran is this sentence. `file-evidence-replay.ts` reads it back to * keep a skipped `write` from being replayed as a body the file now holds, * and it can only do that while one function owns both the writing and the * recognising. */ export declare function skippedToolResultText(toolName: string, reason: string): string; /** Whether `content` is the receipt {@link skippedToolResultText} writes for `toolName`. */ export declare function isSkippedToolResult(toolName: string, content: string): boolean; //# sourceMappingURL=plugin-hooks.d.ts.map