/**
 * ToolRegistryImpl — in-memory reference implementation of the
 * `ToolRegistry` contract. CC host overrides this with an OTel-traced
 * version (src/tools/registry.ts) that implements the same contract.
 */
import type { z } from "zod";
import type { AgentTool, MCPToolDefinition, ToolRegistry, ToolResult } from "./types.js";
export declare class ToolRegistryImpl implements ToolRegistry {
    private readonly tools;
    register<T extends z.ZodTypeAny>(tool: AgentTool<T>): ToolResult<void>;
    unregister(name: string): boolean;
    get(name: string): AgentTool | undefined;
    has(name: string): boolean;
    listNames(): string[];
    listMCPDefinitions(): MCPToolDefinition[];
    get size(): number;
    clear(): void;
    execute(name: string, args: unknown): Promise<ToolResult>;
}
//# sourceMappingURL=registry.d.ts.map