import { DeferStreamDirectiveLabelRule } from './rules/DeferStreamDirectiveLabelRule.js';
import { DeferStreamDirectiveOnRootFieldRule } from './rules/DeferStreamDirectiveOnRootFieldRule.js';
import { DeferStreamDirectiveOnValidOperationsRule } from './rules/DeferStreamDirectiveOnValidOperationsRule.js';
import { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule.js';
import { FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectTypeRule.js';
import { FragmentsOnCompositeTypesRule } from './rules/FragmentsOnCompositeTypesRule.js';
import {
KnownArgumentNamesOnDirectivesRule,
KnownArgumentNamesRule,
} from './rules/KnownArgumentNamesRule.js';
import { KnownDirectivesRule } from './rules/KnownDirectivesRule.js';
import { KnownFragmentNamesRule } from './rules/KnownFragmentNamesRule.js';
import { KnownTypeNamesRule } from './rules/KnownTypeNamesRule.js';
import { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule.js';
import { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule.js';
import { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule.js';
import { NoUndefinedVariablesRule } from './rules/NoUndefinedVariablesRule.js';
import { NoUnusedFragmentsRule } from './rules/NoUnusedFragmentsRule.js';
import { NoUnusedVariablesRule } from './rules/NoUnusedVariablesRule.js';
import { OverlappingFieldsCanBeMergedRule } from './rules/OverlappingFieldsCanBeMergedRule.js';
import { PossibleFragmentSpreadsRule } from './rules/PossibleFragmentSpreadsRule.js';
import { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule.js';
import {
ProvidedRequiredArgumentsOnDirectivesRule,
ProvidedRequiredArgumentsRule,
} from './rules/ProvidedRequiredArgumentsRule.js';
import { ScalarLeafsRule } from './rules/ScalarLeafsRule.js';
import { SingleFieldSubscriptionsRule } from './rules/SingleFieldSubscriptionsRule.js';
import { StreamDirectiveOnListFieldRule } from './rules/StreamDirectiveOnListFieldRule.js';
import { UniqueArgumentDefinitionNamesRule } from './rules/UniqueArgumentDefinitionNamesRule.js';
import { UniqueArgumentNamesRule } from './rules/UniqueArgumentNamesRule.js';
import { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule.js';
import { UniqueDirectivesPerLocationRule } from './rules/UniqueDirectivesPerLocationRule.js';
import { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule.js';
import { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule.js';
import { UniqueFragmentNamesRule } from './rules/UniqueFragmentNamesRule.js';
import { UniqueInputFieldNamesRule } from './rules/UniqueInputFieldNamesRule.js';
import { UniqueOperationNamesRule } from './rules/UniqueOperationNamesRule.js';
import { UniqueOperationTypesRule } from './rules/UniqueOperationTypesRule.js';
import { UniqueTypeNamesRule } from './rules/UniqueTypeNamesRule.js';
import { UniqueVariableNamesRule } from './rules/UniqueVariableNamesRule.js';
import { ValuesOfCorrectTypeRule } from './rules/ValuesOfCorrectTypeRule.js';
import { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule.js';
import { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule.js';
import type { SDLValidationRule, ValidationRule } from './ValidationContext.js';
export const specifiedRules: ReadonlyArray<ValidationRule> = Object.freeze([
ExecutableDefinitionsRule,
UniqueOperationNamesRule,
LoneAnonymousOperationRule,
SingleFieldSubscriptionsRule,
KnownTypeNamesRule,
FragmentsOnCompositeTypesRule,
VariablesAreInputTypesRule,
ScalarLeafsRule,
FieldsOnCorrectTypeRule,
UniqueFragmentNamesRule,
KnownFragmentNamesRule,
NoUnusedFragmentsRule,
PossibleFragmentSpreadsRule,
NoFragmentCyclesRule,
UniqueVariableNamesRule,
NoUndefinedVariablesRule,
NoUnusedVariablesRule,
KnownDirectivesRule,
UniqueDirectivesPerLocationRule,
DeferStreamDirectiveOnRootFieldRule,
DeferStreamDirectiveOnValidOperationsRule,
DeferStreamDirectiveLabelRule,
StreamDirectiveOnListFieldRule,
KnownArgumentNamesRule,
UniqueArgumentNamesRule,
ValuesOfCorrectTypeRule,
ProvidedRequiredArgumentsRule,
VariablesInAllowedPositionRule,
OverlappingFieldsCanBeMergedRule,
UniqueInputFieldNamesRule,
]);
export const specifiedSDLRules: ReadonlyArray<SDLValidationRule> =
Object.freeze([
LoneSchemaDefinitionRule,
UniqueOperationTypesRule,
UniqueTypeNamesRule,
UniqueEnumValueNamesRule,
UniqueFieldDefinitionNamesRule,
UniqueArgumentDefinitionNamesRule,
UniqueDirectiveNamesRule,
KnownTypeNamesRule,
KnownDirectivesRule,
UniqueDirectivesPerLocationRule,
PossibleTypeExtensionsRule,
KnownArgumentNamesOnDirectivesRule,
UniqueArgumentNamesRule,
UniqueInputFieldNamesRule,
ProvidedRequiredArgumentsOnDirectivesRule,
]);