/**
 * Connection Manager Implementation
 *
 * Manages MCP server discovery, configuration, and connection lifecycle
 * Implementation of the ConnectionManager interface.
 */
import { ConnectionManager, ConnectionResult, ConfigResult, ServerInstance, ConnectionStatus, MCPConfig } from '../interfaces/ConnectionManager.js';
/**
 * ConnectionManagerImpl manages MCP server discovery, configuration, and connection lifecycle
 *
 * This implementation automatically detects the embedded MCP server location within the CLI package,
 * generates configuration files with correct server paths, and manages server processes.
 */
export declare class ConnectionManagerImpl implements ConnectionManager {
    private config;
    private connectionStatus;
    private serverProcess;
    private configPath;
    constructor(configPath?: string);
    /**
     * Initialize the connection manager by loading persisted configuration
     */
    init(): Promise<void>;
    /**
     * Connect to the local embedded MCP server
     */
    connectLocal(): Promise<ConnectionResult>;
    /**
     * Automatically configure the local MCP server with correct paths
     */
    autoConfigureLocalServer(): Promise<ConfigResult>;
    /**
     * Detect the embedded MCP server path within the CLI package
     */
    detectServerPath(): Promise<string | null>;
    /**
     * Start the local MCP server process
     */
    startLocalServer(): Promise<ServerInstance>;
    /**
     * Verify that the MCP server connection is working
     */
    verifyConnection(serverPath: string): Promise<boolean>;
    /**
     * Get the current connection status
     */
    getConnectionStatus(): ConnectionStatus;
    /**
     * Stop the local MCP server if running
     */
    stopLocalServer(): Promise<void>;
    /**
     * Get the current MCP configuration
     */
    getConfig(): MCPConfig;
    /**
     * Update the MCP configuration
     */
    updateConfig(config: Partial<MCPConfig>): Promise<void>;
    /**
     * Check if the server is currently running
     */
    private isServerRunning;
    /**
     * Save the current configuration to disk
     */
    private saveConfig;
    /**
     * Load configuration from disk
     */
    private loadConfig;
}
