import type { NodeName, RootFieldData, SelectionPath, SubgraphName } from './types'; import { type NodeResolutionData } from '../node-resolution-data/node-resolution-data'; import { type RootFieldWalker } from '../walker/root-field-walkers/root-field-walker'; export type VisitEntityParams = { encounteredEntityNodeNames: Set; entityNodeName: NodeName; resDataByRelativeOriginPath: Map; resolvedPaths: Set; subgraphNameByUnresolvablePath: Map; visitedEntities: Set; relativeOriginPaths?: Set; }; export type ValidateEntitiesParams = { isSharedRootField: boolean; rootFieldData: RootFieldData; walker: RootFieldWalker; }; export type ConsolidateUnresolvablePathsParams = { pathFromRoot: SelectionPath; resDataByRelativeOriginPath: Map; subgraphNameByUnresolvablePath: Map; walker: RootFieldWalker; };