/** * tree-select - pure tree helpers behind : flatten the visible * rows for the current expansion state (so keyboard nav is a flat index), and * resolve the path from root to a value (for the trigger label). Framework-free * + pure so they are unit-tested directly. */ import type { TreeSelectNode } from './ui-app.types'; export type FlatRow = { node: TreeSelectNode; depth: number; hasChildren: boolean; expanded: boolean; }; /** The rows currently visible given the `expanded` set, in display order. */ export declare function flattenVisible(nodes: ReadonlyArray, expanded: ReadonlySet, depth?: number): FlatRow[]; /** Path of nodes from a root down to `value`, or null if not found. */ export declare function findNodePath(nodes: ReadonlyArray, value: string | number): TreeSelectNode[] | null; /** Every value that has children (useful for "expand all"). */ export declare function branchValues(nodes: ReadonlyArray): Array;