import type { ASTNode } from '../ast-compatibility.js'; import type { Diagnostic } from '../program/types.js'; export interface SemanticValidationResult { diagnostics: Diagnostic[]; } export declare class SemanticValidator { private ajv; private schemas; constructor(); private loadSchemas; /** * Validate an RCL document AST against semantic rules */ validate(ast: ASTNode | any): SemanticValidationResult; /** * Convert AST to JSON structure for schema validation */ private astToJson; private parseImport; private parseSection; private parseAttribute; private parseValue; private parseList; private parseDictionary; private parseDictEntry; private getNodeText; private ajvErrorToDiagnostic; private formatErrorMessage; private findNodeByPath; private validateAgentSection; private validateFlowSections; private validateMessagesSections; private findSectionNode; private findFlowAttributeNode; private findSectionById; } //# sourceMappingURL=SemanticValidator.d.ts.map