import { McpClient, McpTool, McpToolResult } from './mcp-client';
import { HttpMcpClient } from './http-mcp-client';
import { AddedMcpServer } from '../utils/added-mcp-servers';
export interface McpToolWithServer extends McpTool {
    serverName: string;
}
type AnyMcpClient = McpClient | HttpMcpClient;
export declare class McpManager {
    private clients;
    private httpManager;
    private static instance;
    constructor();
    static getInstance(): McpManager;
    initializeAllServers(): Promise<void>;
    connectToServer(server: AddedMcpServer): Promise<AnyMcpClient>;
    disconnectFromServer(serverName: string): Promise<void>;
    disconnectAll(): Promise<void>;
    getAllTools(): McpToolWithServer[];
    getToolsByServer(serverName: string): McpTool[];
    callTool(serverName: string, toolName: string, arguments_: any): Promise<McpToolResult>;
    findToolByName(toolName: string): McpToolWithServer | null;
    getConnectedServers(): string[];
    getServerInfo(serverName: string): import("./mcp-client").McpServerInfo;
    isServerConnected(serverName: string): boolean;
    refreshConnections(): Promise<void>;
    setServerEnabled(serverName: string, enabled: boolean): Promise<boolean>;
    getEnabledServers(): AddedMcpServer[];
}
export {};
