/**
 * Enhanced Connection Factory with Extension Support
 * Integrates the new extension system with the existing connection factory
 */
import { ServerConfig } from "../types/config.js";
import { Connection, ConnectionOptions, ConnectionFactory as IConnectionFactory } from "./types.js";
import { ExtensionManager } from "../extensions/manager.js";
/**
 * Enhanced connection factory that supports both regular MCP servers and extensions
 */
export declare class ExtensionAwareConnectionFactory implements IConnectionFactory {
    private readonly baseFactory;
    private extensionManager?;
    constructor();
    /**
     * Set the extension manager for extension support
     */
    setExtensionManager(extensionManager: ExtensionManager): void;
    /**
     * Create a connection that may come from extensions or regular config
     */
    createConnection(serverName: string, config: ServerConfig, options?: ConnectionOptions): Connection;
    /**
     * Get all available server configurations (MCP servers + enabled extensions)
     */
    getAllServerConfigs(): Promise<Record<string, ServerConfig>>;
    /**
     * Check if a server name is available (either as extension or regular config)
     */
    isServerAvailable(serverName: string): Promise<boolean>;
    /**
     * List all available server names (extensions + regular servers)
     */
    listAvailableServers(): Promise<string[]>;
    /**
     * Get server information including type and status
     */
    getServerInfo(serverName: string): Promise<{
        name: string;
        type: "extension" | "mcp";
        enabled: boolean;
        valid?: boolean;
        version?: string;
        description?: string;
        errors?: string[];
        warnings?: string[];
    } | undefined>;
    /**
     * Refresh all extensions and reload configurations
     */
    refresh(): Promise<void>;
    /**
     * Delegate to base factory for regular operations
     */
    createStdioConnection(serverName: string, config: any, options?: ConnectionOptions): import("./clients/stdio.js").StdioConnection;
    createHttpConnection(serverName: string, config: any, options?: ConnectionOptions): import("./clients/http.js").HttpConnection;
    createSSEConnection(serverName: string, config: any, options?: ConnectionOptions): import("./index.js").SSEConnection;
    isConfigSupported(config: ServerConfig): boolean;
    getSupportedTransports(): string[];
}
//# sourceMappingURL=extensionFactory.d.ts.map