import { FernNavigation } from "./.."; import { type NavigationNodeWithMetadata } from "./versions"; interface NavigationNodeWithMetadataAndParents { node: FernNavigation.NavigationNodeWithMetadata; parents: readonly FernNavigation.NavigationNodeParent[]; next: FernNavigation.NavigationNodeNeighbor | undefined; prev: FernNavigation.NavigationNodeNeighbor | undefined; } export declare class NodeCollector { #private; private static readonly EMPTY; private nodesInOrder; private idToNode; private idToNodeParents; private slugToNode; private orphanedNodes; static collect(rootNode: FernNavigation.NavigationNode | undefined): NodeCollector; private versionNodes; private defaultVersion; private productNodes; private defaultProduct; private variantNodes; private defaultVariant; constructor(rootNode: FernNavigation.NavigationNode | undefined); private visitNode; getOrphanedNodes(): FernNavigation.NavigationNodeWithMetadata[]; getOrphanedPages: () => FernNavigation.NavigationNodeWithMetadata[]; private getSlugMap; get slugMap(): Map; get defaultVersionNode(): FernNavigation.VersionNode | undefined; get defaultProductNode(): FernNavigation.ProductNode | undefined; get defaultVariantNode(): FernNavigation.VariantNode | undefined; get(id: FernNavigation.NodeId): FernNavigation.NavigationNode | undefined; getParents(id: FernNavigation.NodeId): readonly FernNavigation.NavigationNodeParent[]; getSlugMapWithParents: () => ReadonlyMap; get slugs(): string[]; get staticPageSlugs(): string[]; get revalidationPageSlugs(): { authedSlugs: string[]; unauthedSlugs: string[]; authedRoles: string[]; }; get indexablePageSlugs(): string[]; get indexablePageNodesWithAuth(): NavigationNodeWithMetadata[]; getProductNodes: () => FernNavigation.ProductNode[]; getVersionNodes: () => FernNavigation.VersionNode[]; getVariantNodes: () => FernNavigation.VariantNode[]; getNodesInOrder: () => FernNavigation.NavigationNode[]; } export {}; //# sourceMappingURL=NodeCollector.d.ts.map