import { MCPServerConfig, MCPToolInfo, MCPConnectionStatus } from './types';
import { Logger } from '@hashgraphonline/standards-sdk';
import { ContentStorage } from '../memory/ContentStorage';

/**
 * Manages connections to MCP servers and tool discovery
 */
export declare class MCPClientManager {
    private clients;
    private tools;
    private logger;
    private contentProcessor?;
    constructor(logger: Logger, contentStorage?: ContentStorage);
    /**
     * Connect to an MCP server and discover its tools
     */
    connectServer(config: MCPServerConfig): Promise<MCPConnectionStatus>;
    /**
     * Execute a tool on a specific MCP server
     */
    executeTool(serverName: string, toolName: string, args: Record<string, unknown>): Promise<unknown>;
    /**
     * Disconnect all MCP servers
     */
    disconnectAll(): Promise<void>;
    /**
     * Get all discovered tools from all connected servers
     */
    getAllTools(): MCPToolInfo[];
    /**
     * Get tools from a specific server
     */
    getServerTools(serverName: string): MCPToolInfo[];
    /**
     * Check if a server is connected
     */
    isServerConnected(serverName: string): boolean;
    /**
     * Get list of connected server names
     */
    getConnectedServers(): string[];
    /**
     * Enable content processing with content storage
     */
    enableContentProcessing(contentStorage: ContentStorage): void;
    /**
     * Disable content processing
     */
    disableContentProcessing(): void;
    /**
     * Check if content processing is enabled
     */
    isContentProcessingEnabled(): boolean;
    /**
     * Analyze a response without processing it (for testing/debugging)
     */
    analyzeResponseContent(response: unknown): unknown;
}
