import type { Snapshot, TreeLike } from "./types.js"; export declare function getAncestorIds(tree: TreeLike, entryId: string | null | undefined): string[]; export declare function findLca(tree: TreeLike, a: string | null | undefined, b: string | null | undefined): string | null; export interface NavigationSplit { undo: Snapshot[]; redo: Snapshot[]; } /** * Given a tree navigation from `fromLeafId` to `toLeafId`, split snapshots into: * - undo: snapshots on the abandoned segment (fromLeaf up to, but not including, LCA), * ordered nearest-first. Apply each in `reverse` direction. * - redo: snapshots on the target segment (LCA down to toLeaf), ordered chronological. * Apply each in `forward` direction. */ export declare function splitNavigationSnapshots(tree: TreeLike, snapshots: Snapshot[], fromLeafId: string | null | undefined, toLeafId: string | null | undefined): NavigationSplit;