/** * Gets the cached snapshot for a node without creating one if it doesn't exist. * Returns undefined if no snapshot has been cached yet. * @internal */ export declare function getCachedSnapshot(node: T): T | undefined; export declare const invalidateSnapshotTreeToRoot: (node: object) => void; /** * Returns a stable snapshot of a node. * * This function computes and caches a snapshot of the given node. * It preserves referential integrity by reusing snapshots for unchanged sub-parts. * * If not a node it will throw. * * @param node - The node to snapshot. * @returns A snapshot of the node. */ export declare function getSnapshot(node: T): T;