import type { AISDKCoreTool, MCPInitResult, MCPServer, MCPTool, Tool } from '../types/index.js';
export declare class MCPClient {
    private clients;
    private transports;
    private serverTools;
    private serverConfigs;
    private isConnected;
    private logger;
    private isToolAutoApproved;
    constructor();
    /**
     * Ensures backward compatibility for old MCP server configurations
     * by adding default transport type for existing configurations
     */
    private normalizeServerConfig;
    connectToServer(server: MCPServer): Promise<void>;
    connectToServers(servers: MCPServer[], onProgress?: (result: MCPInitResult) => void): Promise<MCPInitResult[]>;
    getAllTools(): Tool[];
    /**
     * Get all MCP tools as AI SDK native CoreTool format
     * Converts MCP tool schemas to AI SDK's tool() format
     */
    getNativeToolsRegistry(): Record<string, AISDKCoreTool>;
    getToolMapping(): Map<string, {
        serverName: string;
        originalName: string;
    }>;
    /**
     * Get all MCP tools as entries with handlers for easy registration
     * Each entry contains the native AI SDK tool and its handler function
     *
     * the AI SDK tool definition and the corresponding handler function.
     * This enables cleaner integration with ToolManager.
     *
     * @returns Array of tool entries with name, AI SDK tool, and handler function
     */
    getToolEntries(): Array<{
        name: string;
        tool: AISDKCoreTool;
        handler: (args: Record<string, unknown>) => Promise<string>;
    }>;
    callTool(toolName: string, args: Record<string, unknown>): Promise<string>;
    private executeToolCall;
    disconnect(): Promise<void>;
    getConnectedServers(): string[];
    isServerConnected(serverName: string): boolean;
    getServerTools(serverName: string): MCPTool[];
    /**
     * Gets server information including transport type and URL for remote servers
     */
    getServerInfo(serverName: string): {
        name: string;
        transport: string;
        url?: string;
        toolCount: number;
        connected: boolean;
        description?: string;
        tags?: string[];
        autoApprovedCommands?: string[];
    } | undefined;
}
//# sourceMappingURL=mcp-client.d.ts.map