/** * Configuration Management Module * * Provides centralized configuration management with environment variable * support, validation, and default values for the Firefox Relay MCP Server. * Follows golden-standard programming practices for maximal reliability. */ import { McpServerConfig } from '../types'; /** * Configuration manager class * * Validates and provides access to application configuration with support * for environment variables, defaults, and runtime overrides. */ export declare class Configuration { private static instance; private readonly config; /** * Private constructor - use getInstance() instead */ private constructor(); /** * Get the singleton configuration instance */ static getInstance(env?: NodeJS.ProcessEnv, overrides?: Partial): Configuration; /** * Reset the singleton instance (useful for testing) */ static resetInstance(): void; /** * Create a new configuration instance (useful for testing) */ static create(env?: NodeJS.ProcessEnv, overrides?: Partial): Configuration; /** * Get the full configuration object */ getConfig(): Readonly; /** * Get a specific configuration value by key */ get(key: T): McpServerConfig[T]; /** * Check if a configuration value exists and is truthy */ has(key: T): boolean; /** * Get configuration as a plain object (for serialization) */ toJSON(): Record; /** * Validate that required configuration is present */ validateRequired(): void; /** * Get environment variable names that can be set */ static getEnvironmentVariableNames(): string[]; /** * Generate a sample .env file content */ static generateEnvFile(): string; } /** * Default configuration export * * Use Configuration.getInstance() for the singleton pattern, * or Configuration.create() for isolated instances. */ export declare const config: Configuration; export default Configuration; //# sourceMappingURL=index.d.ts.map