/** * Aexol Language Validator * * Validates the AST and provides semantic analysis. * Checks for errors, warnings, and best practices. */ import type { ASTNode, Program } from "./parser.js"; export interface ValidationError { type: "error" | "warning" | "info"; message: string; node: ASTNode; code: string; } export interface ValidationResult { isValid: boolean; errors: ValidationError[]; warnings: ValidationError[]; infos: ValidationError[]; } export declare class Validator { private program; private errors; private warnings; private infos; private visitorNameCounts; private anonymousVisitorCount; private definedTypes; private definedRoles; private definedWorkflows; private definedAgents; constructor(program: Program); validate(): ValidationResult; private validateVisitor; private validateCapability; private validateRole; private validateWorkflow; private validateAgent; private validateDomainAgent; private validateBuilderAgent; private validateType; private addError; private addWarning; private addInfo; } //# sourceMappingURL=validator.d.ts.map