export type NodeWithSerializedNode = Node & { __brand: 'NodeWithSerializedNode'; }; export type NodeId = number & { __brand: 'NodeId'; }; export declare const enum NodeIdConstants { FIRST_ID = 1 } export interface NodeIds { assign(node: Node): NodeId; get(node: Node): NodeId | undefined; areAssignedForNodeAndAncestors(node: Node): node is NodeWithSerializedNode; } export declare function createNodeIds(): NodeIds;