import { type ConstDirectiveNode, type StringValueNode } from 'graphql'; import { type RequiredFieldConfiguration } from '../../router-configuration/types'; import { type CompositeOutputData, type ConditionalFieldData, type EntityData, type EntityInterfaceFederationData, type FieldData, type InterfaceDefinitionData, type ObjectDefinitionData, type ParentDefinitionData } from '../../schema-building/types/types'; import { type MutableFieldNode } from '../../schema-building/ast'; import { type GraphNode } from '../../resolvability-graph/graph-nodes'; import { type InternalSubgraph } from '../../subgraph/types'; import { type ContractTagOptions } from '../../federation/types/types'; import { type TypeName } from '../../types/types'; export type ParentTagData = { childTagDataByChildName: Map; tagNames: Set; typeName: string; }; export declare function newParentTagData(typeName: string): ParentTagData; export type ChildTagData = { name: string; tagNames: Set; tagNamesByArgumentName: Map>; }; export declare function newChildTagData(name: string): ChildTagData; export type InterfaceImplementationData = { data: CompositeOutputData; clientSchemaFieldNodes: MutableFieldNode[]; }; export type SubscriptionFilterData = { directive: ConstDirectiveNode; directiveSubgraphName: string; fieldData: FieldData; }; export type InterfaceObjectForInternalGraphOptions = { entityData: EntityData; interfaceObjectData: EntityInterfaceFederationData; interfaceObjectNode: GraphNode; internalSubgraph: InternalSubgraph; resolvableKeyFieldSets: Set; subgraphName: string; }; export type VisitFieldSetOptions = { conditionalFieldDataByCoords: Map; currentSubgraphName: string; entityData: EntityData; implicitKeys: Array; objectData: ObjectDefinitionData | InterfaceDefinitionData; parentDefinitionDataByTypeName: Map; graphNode?: GraphNode; }; export declare function validateImplicitFieldSets({ conditionalFieldDataByCoords, currentSubgraphName, entityData, implicitKeys, objectData, parentDefinitionDataByTypeName, graphNode, }: VisitFieldSetOptions): void; export declare function newContractTagOptionsFromArrays(tagNamesToExclude: Array, tagNamesToInclude: Array): ContractTagOptions; export declare function getDescriptionFromString(description: string): StringValueNode | undefined;