import { ServiceAgent } from './ServiceAgent'; import { ValidationRule } from '../types/config'; export interface ValidationResult { ruleId: string; featureId: string | number; result: 'pass' | 'fail' | 'warning'; message: string; details?: any; } export declare class ValidationEngine { private rules; private layerRegistry; private eventCallbacks; private serviceAgent; private geoJsonFormat; constructor(serviceAgent: ServiceAgent); /** * 注册检验规则 */ registerRule(rule: ValidationRule): void; /** * 批量注册检验规则 */ registerRules(rules: ValidationRule[]): void; /** * 注册图层 */ registerLayer(layerId: string, layer: any): void; /** * 执行单个规则检验 */ validateRule(ruleId: string): Promise; /** * 执行所有规则检验 */ validateAll(): Promise; /** * 从图层中提取要素 */ private extractFeaturesFromLayer; /** * 获取要素ID */ private getFeatureId; /** * 根据ID查找要素 */ private findFeatureById; /** * 发送验证请求到服务端 */ private sendValidationRequest; /** * 将GeoJSON响应转换为ValidationResponse格式 */ private convertGeoJsonToValidationResponse; /** * 添加事件监听器 */ addEventListener(eventType: string, callback: Function): void; /** * 移除事件监听器 */ removeEventListener(eventType: string, callback: Function): void; /** * 触发事件 */ private emitEvent; /** * 获取检验统计信息 */ getValidationStats(results: ValidationResult[]): { total: number; passed: number; failed: number; warnings: number; byRule: Record; }; /** * 清除所有规则 */ clearRules(): void; /** * 销毁引擎 */ destroy(): void; }