/**
 * Simple MCP manager for Pi Agent version.
 * Manages connections to multiple MCP servers.
 */
import type { McpServerConfig, McpToolDescriptor } from './client.js';
import type { McpClient } from './client-factory.js';
import type { ClawxConfig } from '../types/index.js';
export interface McpServerState {
    name: string;
    config: McpServerConfig;
    status: 'disabled' | 'connecting' | 'connected' | 'error';
    error?: string;
    tools: McpToolDescriptor[];
    client?: McpClient;
}
export declare class McpManager {
    private servers;
    private listeners;
    /**
     * Initialize manager with config
     */
    initialize(config: ClawxConfig): void;
    /**
     * Connect to a specific server
     */
    connectServer(name: string): Promise<void>;
    /**
     * Disconnect from a server
     */
    disconnectServer(name: string): Promise<void>;
    /**
     * Call a tool on a server
     */
    callTool(serverName: string, toolName: string, params: any): Promise<any>;
    /**
     * Get all server states
     */
    getServerStates(): McpServerState[];
    /**
     * Get tools from all connected servers
     */
    getAllTools(): Array<{
        server: string;
        tool: McpToolDescriptor;
    }>;
    /**
     * Subscribe to server state changes
     */
    subscribe(listener: (servers: McpServerState[]) => void): () => void;
    /**
     * Notify all listeners
     */
    private notifyListeners;
}
export declare function getMcpManager(): McpManager;
//# sourceMappingURL=manager.d.ts.map