import { ContractEntity } from '../../domain/entities/ContractEntity'; import { Result } from '../../shared/result'; import { ValidationError } from '../../domain/errors/ValidationError'; import { PerformanceMonitor } from './PerformanceMonitor'; import { SecurityValidator } from './SecurityValidator'; import { ValidationPluginRegistry } from './ValidationPluginRegistry'; import { ValidationLogger } from './ValidationLogger'; import { ValidationResult, ValidationRule, ValidationContext } from './interfaces'; import { ValidationPlugin, ValidationPluginConfig } from './interfaces/ValidationPlugin'; import { ValidationMonitoringHooks } from './interfaces/ValidationLogger'; /** * Validation Pipeline Configuration */ export interface ValidationPipelineConfig { performanceMonitor?: PerformanceMonitor; securityValidator?: SecurityValidator; rules?: ValidationRule[]; pluginRegistry?: ValidationPluginRegistry; logger?: ValidationLogger; monitoringHooks?: ValidationMonitoringHooks; } /** * Comprehensive Validation Pipeline * Orchestrates multiple validation layers for enterprise-grade contract validation */ export declare class ValidationPipeline { private rules; private performanceMonitor; private securityValidator; private pluginRegistry; private logger; private monitoringHooks?; constructor(config?: ValidationPipelineConfig); /** * Add a validation rule to the pipeline */ addRule(rule: ValidationRule): void; /** * Remove a validation rule */ removeRule(ruleName: string): void; /** * Register a validation plugin */ registerPlugin(plugin: ValidationPlugin, config: ValidationPluginConfig): Promise; /** * Unregister a validation plugin */ unregisterPlugin(pluginName: string): Promise; /** * Get the logger instance */ getLogger(): ValidationLogger; /** * Get plugin registry statistics */ getPluginStats(): { totalPlugins: number; enabledPlugins: number; totalRules: number; plugins: Array<{ name: string; version: string; enabled: boolean; priority: number; ruleCount: number; }>; }; /** * Get all active rules (built-in + plugin rules) */ private getAllActiveRules; /** * Check performance thresholds and trigger monitoring hooks */ private checkPerformanceThresholds; /** * Validate a contract through the complete pipeline */ validateContract(contract: ContractEntity, context: ValidationContext): Promise>; /** * Validate contract definition (JSON schema + business rules) */ validateContractDefinition(definition: any, context: ValidationContext): Promise>; /** * Get validation statistics */ getValidationStats(): { totalRules: number; builtInRules: number; pluginRules: number; rulesByCategory: Record; averageExecutionTime: number; errorRate: number; throughput: number; percentile95: number; percentile99: number; pluginStats: any; }; private processRuleResults; private handleSchemaFailure; private createValidationResult; private handleError; } //# sourceMappingURL=ValidationPipeline.d.ts.map