/** * EnvironmentManager - JetBrains HTTP Client Compatible Environment Management * * Supports: * - http-client.env.json (public environments) * - http-client.private.env.json (private/sensitive variables) * - Multiple environment selection (dev, prod, test, etc.) * - Nested variable access with dot notation * - Runtime variable overrides */ export interface EnvironmentConfig { [envName: string]: EnvironmentVariables; } export interface EnvironmentVariables { [key: string]: string | number | boolean | object | unknown[]; } export declare class EnvironmentManager { private baseDir; private publicEnv; private privateEnv; private mergedEnv; private currentEnvName; private runtimeVariables; constructor(baseDir: string); /** * Load environment files from the base directory */ load(): Promise; private loadPublicEnv; private loadPrivateEnv; private loadEnvFile; private mergeEnvironments; /** * Get list of available environment names */ getAvailableEnvironments(): string[]; /** * Select an environment by name */ selectEnvironment(envName: string): void; /** * Get the currently selected environment name */ getCurrentEnvironment(): string | undefined; /** * Auto-select a default environment * Priority: dev > development > first available */ autoSelectDefaultEnvironment(): void; /** * Get a variable value from the current environment * Supports dot notation for nested values (e.g., "database.host") */ getVariable(key: string): unknown; private getNestedValue; /** * Get all variables for the current environment */ getAllVariables(): EnvironmentVariables; /** * Set a runtime variable that overrides environment values */ setRuntimeVariable(key: string, value: unknown): void; /** * Replace {{variable}} placeholders in a string with environment values */ replaceVariables(content: string): string; /** * Export variables to a format compatible with VariableManager */ exportToVariables(): Record; private flattenObject; }