/**
 * TODO: DECLARATIVE PROGRAMMING PATTERN
 *
 * This file demonstrates excellent declarative programming practices:
 * - Pure functions with arrow functions and functional composition
 * - Immutable data transformations with Object.keys() and filter()
 * - Functional array methods (map, filter)
 * - Promise.all() for concurrent operations
 * - Null coalescing operators (??)
 * - No imperative loops or state mutations
 *
 * Mutation Score: 85.25% - Functional patterns make testing straightforward!
 */
import { ConfigFile } from '../types';
export interface EnvironmentConfig {
    [environment: string]: string;
}
export interface EnvironmentValidationResult {
    environment: string;
    configFile: string;
    success: boolean;
    errors: any[];
    warnings: any[];
}
export declare class EnvironmentManager {
    private readonly fs;
    private readonly yaml;
    constructor();
    /**
     * Load environment configuration from file
     */
    loadEnvironmentConfig(filePath: string): EnvironmentConfig;
    /**
     * Validate specific environment
     */
    validateEnvironment(environment: string, environmentConfig: EnvironmentConfig, validationFunction: (files: ConfigFile[]) => Promise<any>): Promise<EnvironmentValidationResult>;
    /**
     * Validate all environments
     */
    validateAllEnvironments(environmentConfig: EnvironmentConfig, validationFunction: (files: ConfigFile[]) => Promise<any>): Promise<EnvironmentValidationResult[]>;
    /**
     * Get environment summary
     */
    getEnvironmentSummary(results: EnvironmentValidationResult[]): {
        total: number;
        passed: number;
        failed: number;
        success: boolean;
    };
}
//# sourceMappingURL=EnvironmentManager.d.ts.map