import type { ASTNode } from 'graphql'; import type { BaseModuleSpecificationConfig, ModuleSpecificationClauseConfig } from '../../config/module-specification.js'; import type { ModelComponent } from '../../validation/validation-context.js'; import { ValidationContext } from '../../validation/validation-context.js'; import type { Model } from '../model.js'; 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; }