/** * Schema Validation System * Validates configuration files, metadata, and user inputs against JSON schemas */ import { ValidationResult, ValidationError, ValidationWarning } from '../types'; export interface SchemaValidationResult extends Omit { valid: boolean; errors: SchemaValidationError[]; warnings: SchemaValidationWarning[]; suggestions: Record; } export interface SchemaValidationError extends ValidationError { field?: string; value?: any; expected?: any; code?: string; } export interface SchemaValidationWarning extends ValidationWarning { field?: string; suggestion?: any; } export interface SchemaValidationConfig { strict: boolean; allowAdditionalProperties: boolean; coerceTypes: boolean; removeAdditional: boolean | 'all' | 'failing'; } export declare class SchemaValidator { private ajv; private schemas; private config; constructor(config?: Partial); /** * Load and register all built-in schemas */ private loadBuiltInSchemas; /** * Register a new schema */ registerSchema(name: string, schema: any): void; /** * Load schema from file */ loadSchemaFromFile(name: string, filePath: string): Promise; /** * Validate data against a schema */ validate(schemaName: string, data: any): SchemaValidationResult; /** * Validate file against schema */ validateFile(schemaName: string, filePath: string): Promise; /** * Auto-fix common validation errors */ autoFix(schemaName: string, data: any): Promise<{ fixed: any; changes: string[]; }>; /** * Validate and suggest improvements for template metadata */ validateTemplateMetadata(metadata: any): SchemaValidationResult; private formatErrorMessage; private generateSuggestion; private getDefaultValueForProperty; private convertToExpectedType; private generateWarnings; private attemptAutoFix; private setNestedProperty; private validateTemplateMetadataCustom; } export default SchemaValidator; //# sourceMappingURL=schema-validator.d.ts.map