import { EventEmitter } from 'events'; import { MCPTool, MCPResponse, ServerAdapter } from '../types/index.js'; import { ConfigManager } from '../config/config-manager.js'; export interface ToolRoute { toolName: string; serverName: string; adapter: ServerAdapter; } export declare class ToolRouter extends EventEmitter { private adapters; private toolRoutes; private toolsByServer; private lastStableToolsList; private lastStableToolsCount; private configManager?; constructor(configManager?: ConfigManager); private isToolEnabled; addAdapter(adapter: ServerAdapter): void; removeAdapter(serverName: string): void; getAdapter(serverName: string): ServerAdapter | undefined; getAllAdapters(): ServerAdapter[]; getConnectedAdapters(): ServerAdapter[]; private refreshToolRoutes; private removeToolRoutes; getAllTools(forceRefresh?: boolean): Promise; getToolsByServer(serverName: string): MCPTool[]; getEnabledToolsByServer(serverName: string): MCPTool[]; findToolRoute(toolName: string): ToolRoute | undefined; callTool(toolName: string, args: any): Promise; connectAll(options?: { timeout?: number; maxConcurrent?: number; }): Promise; private connectWithTimeout; disconnectAll(): Promise; getRouteStatus(): { totalAdapters: number; connectedAdapters: number; totalTools: number; toolsByServer: Record; toolConflicts: string[]; }; searchTools(query: string): MCPTool[]; enableServerTools(serverName: string, enabled: boolean): Promise; forceReconnectServer(serverName: string): Promise; getServerHealth(): Record; autoHealUnhealthyServers(): Promise; getAllCrashStats(): Record; clearServerBlacklist(serverName: string): boolean; clearAllBlacklists(): void; getConnectedServerCount(): number; getTotalServerCount(): number; getToolDistribution(): Record; updateServerTools(serverName: string): Promise; } //# sourceMappingURL=tool-router.d.ts.map