import { ValidationError } from './schema'; import { GeneratorConfig } from './parser'; /** * Configuration validation result */ export interface ValidationResult { /** Whether the configuration is valid */ valid: boolean; /** Array of validation errors (empty if valid) */ errors: ValidationError[]; /** The validated configuration (potentially with defaults applied) */ config?: GeneratorConfig; /** Warnings that don't prevent usage but should be noted */ warnings: string[]; } /** * Configuration validator class */ export declare class ConfigurationValidator { private readonly ajv; private readonly validateConfig; constructor(); /** * Validate a configuration object */ validate(config: unknown, modelNames?: string[]): ValidationResult; /** * Validate configuration with Prisma model names */ validateWithModels(config: unknown, modelNames: string[]): ValidationResult; /** * Convert AJV validation errors to our error format */ private convertAjvErrors; /** * Convert a single AJV error to our error format */ private convertSingleAjvError; /** * Get human-readable error message for pattern validation failures */ private getPatternErrorMessage; /** * Validate cross-field constraints */ private validateCrossFieldConstraints; /** * Validate model references against actual Prisma models */ private validateModelReferences; /** * Validate variant consistency */ private validateVariantConsistency; /** * Validate operation consistency */ private validateOperationConsistency; /** * Apply default values to configuration */ private applyDefaults; } /** * Convenience function to validate configuration */ export declare function validateConfiguration(config: unknown, modelNames?: string[]): ValidationResult; /** * Convenience function to validate configuration with model names */ export declare function validateConfigurationWithModels(config: unknown, modelNames: string[]): ValidationResult; /** * Create human-readable validation error message */ export declare function formatValidationErrors(errors: ValidationError[]): string; /** * Create human-readable validation warnings message */ export declare function formatValidationWarnings(warnings: string[]): string;