import { DocumentNode } from 'graphql'; import { Model, ValidationMessage, ValidationResult } from '../../model'; import { ProjectSource } from '../../project/source'; import { ParsedProjectSource } from '../../config/parsed-project'; 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;