import { ASTNode } from 'graphql'; import { BaseModuleSpecificationConfig, ModuleSpecificationClauseConfig } from '../../config/module-specification'; import { ModelComponent, ValidationContext } from '../../validation/validation-context'; import { Model } from '..'; export declare abstract class BaseModuleSpecification implements ModelComponent { protected readonly model: Model; private readonly clausesIncludingInvalidOnes; readonly clauses: ReadonlyArray | null; readonly astNode: ASTNode | undefined; readonly inAstNode: ASTNode | undefined; constructor(config: BaseModuleSpecificationConfig, model: Model); validate(context: ValidationContext): void; } export declare class ModuleSpecificationClause implements ModelComponent { private readonly config; private readonly model; readonly expression: string; constructor(config: ModuleSpecificationClauseConfig, model: Model); get andCombinedModules(): ReadonlyArray; validate(context: ValidationContext): void; private parse; }