/**
 * @file src/infrastructure/parsers/config-parsing/ConfigValidation.ts
 * @description Pure functions for configuration validation
 */
import { PraetorianConfig } from '../../../shared/types';
/**
 * @interface ValidationResult
 * @description Result of configuration validation
 */
export interface ValidationResult {
    isValid: boolean;
    errors: string[];
    warnings: string[];
}
/**
 * Validates a Praetorian configuration
 * @param config - Configuration to validate
 * @returns Validation result
 */
export declare const validatePraetorianConfig: (config: PraetorianConfig) => ValidationResult;
/**
 * Validates that required sections are present
 * @param config - Configuration to validate
 * @param errors - Errors array to populate
 */
export declare const validateRequiredSections: (config: PraetorianConfig, errors: string[]) => void;
/**
 * Validates the files section
 * @param config - Configuration to validate
 * @param errors - Errors array to populate
 * @param warnings - Warnings array to populate
 */
export declare const validateFilesSection: (config: PraetorianConfig, errors: string[], warnings: string[]) => void;
/**
 * Validates the environments section
 * @param config - Configuration to validate
 * @param errors - Errors array to populate
 * @param warnings - Warnings array to populate
 */
export declare const validateEnvironmentsSection: (config: PraetorianConfig, errors: string[], warnings: string[]) => void;
/**
 * Validates array sections
 * @param config - Configuration to validate
 * @param errors - Errors array to populate
 */
export declare const validateArraySections: (config: PraetorianConfig, errors: string[]) => void;
/**
 * Validates that an array contains only strings
 * @param array - Array to validate
 * @param fieldName - Name of the field for error messages
 * @param errors - Errors array to populate
 */
export declare const validateStringArray: (array: any, fieldName: string, errors: string[]) => void;
/**
 * Validates object sections
 * @param config - Configuration to validate
 * @param errors - Errors array to populate
 */
export declare const validateObjectSections: (config: PraetorianConfig, errors: string[]) => void;
/**
 * Checks if configuration has files to validate
 * @param config - Configuration to check
 * @returns True if has files, false otherwise
 */
export declare const hasFilesToValidate: (config: PraetorianConfig) => boolean;
//# sourceMappingURL=ConfigValidation.d.ts.map