import { type ArgumentName, type DirectiveLocation, type DirectiveName, type SubgraphName, type TypeName } from '../../types/types'; import type { ConstDirectiveNode, ConstValueNode, DirectiveDefinitionNode, Kind, StringValueNode } from 'graphql'; import type { InputNodeKind } from '../../utils/types'; import type { MutableInputValueNode, MutableTypeNode } from '../../schema-building/ast'; import { type ConfigureDescriptionData, type FederatedDirectivesData } from '../../schema-building/types/types'; export type DirectiveArgumentData = { configureDescriptionDataBySubgraphName: Map; directivesByName: Map>; federatedCoords: string; originalCoords: string; includeDefaultValue: boolean; kind: Kind.ARGUMENT; name: ArgumentName; namedTypeKind: InputNodeKind | Kind.NULL; namedTypeName: TypeName; node: MutableInputValueNode; federatedDirectivesData: FederatedDirectivesData; requiredSubgraphNames: Set; subgraphNames: Set; type: MutableTypeNode; defaultValue?: ConstValueNode; description?: StringValueNode; }; export type DirectiveDefinitionData = { argumentDataByName: Map; executableLocations: Set; isComposed: boolean; isReferenced: boolean; isRepeatable: boolean; locations: Set; majorVersion: number; minorVersion: number; name: DirectiveName; node: DirectiveDefinitionNode; optionalArgumentNames: Set; requiredArgumentNames: Set; subgraphNames: Set; description?: StringValueNode; };