/** * Configuration loading and validation for MCP server manager */ import type { ManagerConfig, ServerConfig, LifecycleConfig, StdioServerConfig, HttpServerConfig } from '../types/config.js'; import { type Logger } from '../utils/logger.js'; /** * Validation error details */ export interface ValidationError { path: string; message: string; } /** * Result of configuration validation */ export interface ValidationResult { valid: boolean; errors: ValidationError[]; } /** * Loads and validates MCP server manager configuration */ export declare class ConfigLoader { private logger; constructor(logger?: Logger); /** * Loads configuration from a JSON file */ loadFromFile(filePath: string): Promise; /** * Loads configuration from a raw object */ loadFromObject(config: unknown): ManagerConfig; /** * Parses and validates raw configuration */ private parseAndValidate; /** * Validates raw configuration object */ validate(config: unknown): ValidationResult; /** * Validates a single server configuration */ private validateServer; /** * Validates connection configuration */ private validateConnection; /** * Validates lifecycle configuration */ private validateLifecycleConfig; /** * Applies default values to configuration */ private applyDefaults; } /** * Creates a server configuration programmatically */ export declare function createServerConfig(name: string, connection: StdioServerConfig | HttpServerConfig, options?: { lifecycle?: LifecycleConfig; autoStart?: boolean; }): ServerConfig; /** * Creates a stdio server configuration */ export declare function createStdioConfig(command: string, args?: string[], options?: { env?: Record; cwd?: string; }): StdioServerConfig; /** * Creates an HTTP server configuration */ export declare function createHttpConfig(url: string, headers?: Record): HttpServerConfig; //# sourceMappingURL=config-loader.d.ts.map