import { ConfigManager, ServerConfig, ServerInstance, ServerTemplate } from '../config/config-manager.js'; import type { ServerRuntimeConfig, InstanceSelectionStrategy } from '../../shared/models/server.model.js'; /** * Manages MCP server configurations and lifecycle operations through the configuration manager. * * This service provides a comprehensive interface for CRUD operations on MCP servers, * including batch operations for performance optimization, instance management, and * event-driven communication with other system components. */ export declare class HubManagerService { private configManager; constructor(manager?: ConfigManager); /** * Adds multiple server configurations in a single batch operation without auto-starting. */ addServersWithoutAutoStart(servers: Array<{ name: string; config: Partial; }>): Promise; /** * Creates server instances for multiple servers without automatically connecting them. */ addServerInstancesWithoutConnect(serverNames: string[]): Promise; /** * Concurrently connects to multiple server instances. */ connectServerInstances(serverNames: string[]): Promise; /** * Retrieves all configured servers. */ getAllServers(): Array<{ name: string; config: ServerConfig; }>; /** * Retrieves a server configuration and instance by its unique instance ID. */ getServerById(id: string): { name: string; config: ServerConfig; instance: ServerInstance; } | undefined; /** * Retrieves a server configuration by name. */ getServerByName(name: string): ServerConfig | undefined; /** * Retrieves all instances for a specific server by name. */ getServerInstancesByName(name: string): ServerInstance[]; /** * Retrieves all server instances grouped by server name. */ getServerInstances(): Record; /** * Gets the resolved server configuration by merging template and instance. */ getResolvedServerConfig(name: string, instanceId?: string): ServerRuntimeConfig | null; /** * Adds a new server configuration to the system. */ addServer(name: string, config: Partial): Promise; /** * Adds a new instance to an existing server. * Note: This method only creates the instance without auto-connect. * Use connectServerInstances() explicitly to connect after adding instances. */ addServerInstance(name: string, instance: Partial): Promise; /** * Updates an existing server template configuration. */ updateServer(name: string, updates: Partial): Promise; /** * Updates a specific server instance. */ updateServerInstance(name: string, index: number, updates: Partial): Promise; /** * Removes a server and all its instances. */ removeServer(name: string): Promise; /** * Removes a specific server instance. */ removeServerInstance(name: string, index: number): Promise; /** * Reassigns server instance indexes. */ reassignInstanceIndexes(name: string): Promise; /** * Updates the instance selection strategy for a server. */ updateServerInstanceSelectionStrategy(name: string, strategy: InstanceSelectionStrategy): Promise; } export declare const hubManager: HubManagerService; //# sourceMappingURL=hub-manager.service.d.ts.map