import { type GetNodeResolutionDataParams, type PropagateVisitedFieldParams, type PropagateVisitedSharedFieldParams, type RootFieldWalkerParams, type VisitEdgeParams, type VisitNodeParams, type VisitRootFieldEdgesParams } from './types/params'; import { type NodeName, type VisitNodeResult } from '../../types/types'; import { NodeResolutionData } from '../../node-resolution-data/node-resolution-data'; export declare class RootFieldWalker { index: number; resDataByNodeName: Map; resDataByPath: Map; entityNodeNamesByPath: Map>; pathsByEntityNodeName: Map<`${string}.${string}`, Set>; unresolvablePaths: Set; constructor({ index, nodeResolutionDataByNodeName }: RootFieldWalkerParams); visitEdge({ edge, selectionPath }: VisitEdgeParams): VisitNodeResult; visitAbstractNode({ node, selectionPath }: VisitNodeParams): VisitNodeResult; visitConcreteNode({ node, selectionPath }: VisitNodeParams): VisitNodeResult; visitSharedEdge({ edge, selectionPath }: VisitEdgeParams): VisitNodeResult; visitSharedAbstractNode({ node, selectionPath }: VisitNodeParams): VisitNodeResult; visitSharedConcreteNode({ node, selectionPath }: VisitNodeParams): VisitNodeResult; getNodeResolutionData({ node, selectionPath }: GetNodeResolutionDataParams): NodeResolutionData; getSharedNodeResolutionData({ node, selectionPath }: GetNodeResolutionDataParams): NodeResolutionData; propagateVisitedField({ areDescendantsResolved, data, fieldName, isExternal, node, selectionPath, visited, }: PropagateVisitedFieldParams): void; propagateSharedVisitedField({ areDescendantsResolved, data, fieldName, node, visited, }: PropagateVisitedSharedFieldParams): void; visitRootFieldEdges({ edges, rootTypeName }: VisitRootFieldEdgesParams): VisitNodeResult; }