/**
 * Tool Registry for managing MCP tool definitions and handlers
 */
import { Tool } from "@modelcontextprotocol/sdk/types.js";
export interface ToolHandler {
    (args: any): Promise<any>;
}
export interface ToolDefinition extends Tool {
    handler?: ToolHandler;
}
export declare class ToolRegistry {
    private tools;
    /**
     * Register a tool with its definition and handler
     */
    register(tool: ToolDefinition, handler?: ToolHandler): void;
    /**
     * Register multiple tools at once
     */
    registerMany(tools: Array<{
        tool: ToolDefinition;
        handler?: ToolHandler;
    }>): void;
    /**
     * Get all registered tools (for ListToolsRequest)
     */
    getAllTools(): Tool[];
    /**
     * Get a specific tool handler
     */
    getHandler(name: string): ToolHandler | undefined;
    /**
     * Check if a tool exists
     */
    has(name: string): boolean;
}
//# sourceMappingURL=ToolRegistry.d.ts.map