/**
 * Tool wrappers for extension event interception.
 *
 * Wraps ToolDefinitions with tool_call / tool_result event hooks so
 * extensions can block or modify tool execution.
 */
import type { ExtensionRunner } from './runner.js';
import type { ToolDefinition } from './types.js';
/**
 * Wrap a tool with extension callbacks for interception.
 * - Emits tool_call event before execution (can block)
 * - Emits tool_result event after execution (can modify result)
 */
export declare function wrapToolWithExtensions<T>(tool: ToolDefinition<any, T>, runner: ExtensionRunner): ToolDefinition<any, T>;
/**
 * Wrap all tools with extension callbacks.
 */
export declare function wrapToolsWithExtensions<T>(tools: ToolDefinition<any, T>[], runner: ExtensionRunner): ToolDefinition<any, T>[];
//# sourceMappingURL=wrapper.d.ts.map