/** * Validation result */ export interface IValidationResult { /** * Whether the validation passed */ valid: boolean; /** * Validation errors if any */ errors?: string[]; /** * Validated configuration (may include defaults) */ config?: any; } /** * Validation schema types */ export type ValidationSchema = Record boolean | string; }>; /** * Configuration validator * Validates configuration objects against schemas and provides default values */ export declare class ConfigValidator { /** * Validate a configuration object against a schema * * @param config Configuration object to validate * @param schema Validation schema * @returns Validation result */ static validate(config: T, schema: ValidationSchema): IValidationResult; /** * Apply defaults to a configuration object based on a schema * * @param config Configuration object to apply defaults to * @param schema Validation schema with defaults * @returns Configuration with defaults applied */ static applyDefaults(config: T, schema: ValidationSchema): T; /** * Throw a validation error if the configuration is invalid * * @param config Configuration to validate * @param schema Validation schema * @returns Validated configuration with defaults * @throws ValidationError if validation fails */ static validateOrThrow(config: T, schema: ValidationSchema): T; }