/**
 * Configuration Validator
 * Validates configuration against schema and rules
 */
import type { ProjectConfig } from '../config/ConfigSchema';
export interface ValidationError {
    key: string;
    value: unknown;
    message: string;
    rule: string;
}
export interface ValidationResult {
    valid: boolean;
    errors: ValidationError[];
}
/**
 * Validate entire config against schema
 */
export declare function validateConfig(config: ProjectConfig): ValidationResult;
/**
 * Validate a single config value
 */
export declare function validateConfigValue(key: string, value: unknown): ValidationError | null;
/**
 * Format validation errors for display
 */
export declare function formatValidationErrors(result: ValidationResult): string;
/**
 * Get validation rule description
 */
export declare function getConfigDescription(key: string): string | undefined;
/**
 * ConfigValidator namespace - sealed for immutability
 */
export declare const ConfigValidator: Readonly<{
    validate: typeof validateConfig;
    validateValue: typeof validateConfigValue;
    formatErrors: typeof formatValidationErrors;
    getDescription: typeof getConfigDescription;
}>;
//# sourceMappingURL=ConfigValidator.d.ts.map