import { NodeResolutionData } from '../../node-resolution-data/node-resolution-data'; import type { NodeName, SelectionPath, SubgraphName, VisitNodeResult } from '../../types/types'; import { type AddUnresolvablePathsParams, type EntityWalkerParams, type GetNodeResolutionDataParams, type PropagateVisitedFieldParams, type RemoveUnresolvablePathsParams, type VisitEntityDescendantEdgeParams, type VisitEntityDescendantNodeParams } from './types/params'; export declare class EntityWalker { encounteredEntityNodeNames: Set; index: number; resDataByNodeName: Map; resDataByRelativeOriginPath: Map; resolvedPaths: Set; selectionPathByEntityNodeName: Map<`${string}.${string}`, string>; subgraphNameByUnresolvablePath: Map; visitedEntities: Set; relativeOriginPaths?: Set; constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }: EntityWalkerParams); getNodeResolutionData({ node: { fieldDataByName, nodeName, typeName }, selectionPath, }: GetNodeResolutionDataParams): NodeResolutionData; visitEntityDescendantEdge({ edge, selectionPath }: VisitEntityDescendantEdgeParams): VisitNodeResult; visitEntityDescendantConcreteNode({ node, selectionPath }: VisitEntityDescendantNodeParams): VisitNodeResult; visitEntityDescendantAbstractNode({ node, selectionPath }: VisitEntityDescendantNodeParams): VisitNodeResult; propagateVisitedField({ areDescendantsResolved, data, fieldName, isExternal, node, selectionPath, visited, }: PropagateVisitedFieldParams): void; addUnresolvablePaths({ selectionPath, subgraphName }: AddUnresolvablePathsParams): void; removeUnresolvablePaths({ selectionPath, removeDescendantPaths }: RemoveUnresolvablePathsParams): void; }