import { ToolDefinition, ToolUseBlock, ToolResultBlock, MCPServerConfig } from '@aituber-onair/chat';
type Handler<P = any, R = any> = (input: P) => Promise<R>;
export declare class ToolExecutor {
    private registry;
    private mcpServers;
    register<P, R>(definition: ToolDefinition, fn: Handler<P, R>): void;
    setMCPServers(servers: MCPServerConfig[]): void;
    /**
     * Parse MCP tool name
     * @param toolName Tool name (e.g., "mcp_deepwiki_search")
     * @returns Parsed MCP tool parts or null for non-MCP tools
     */
    private parseMCPToolName;
    /**
     * Execute MCP tool call
     * @param block Tool use block
     * @returns Tool result block
     */
    private executeMCPTool;
    run(blocks: ToolUseBlock[]): Promise<ToolResultBlock[]>;
    listDefinitions(): ToolDefinition[];
}
export {};
