import type { DocumentNode } from 'graphql'; import { Model } from '../../model/implementation/model.js'; import { ValidationMessage } from '../../model/validation/message.js'; import { ValidationResult } from '../../model/validation/result.js'; import type { ProjectSource } from '../../project/source.js'; import type { ParsedProjectSource } from '../parsing/parsed-project.js'; export interface ASTValidator { validate(ast: DocumentNode, model: Model): ReadonlyArray; } export interface ParsedSourceValidator { validate(source: ParsedProjectSource): ReadonlyArray; } export interface SourceValidator { validate(source: ProjectSource): ReadonlyArray; } export declare function validateSource(source: ProjectSource): ValidationResult; export declare function validateParsedProjectSource(source: ParsedProjectSource): ValidationResult; export declare function validatePostMerge(ast: DocumentNode, model: Model): ValidationResult;