import type { RowId } from '../../Core/Data/DataProvider'; import type Table from '../../Core/Table/Table'; import type TableRow from '../../Core/Table/Body/TableRow'; import type { TreeProjectionState } from './TreeViewTypes'; /** * Resolves the projected TreeView row index for a rendered row. * * @param row * Rendered viewport or sticky row. * * @param projectionState * Current TreeView projection state. * * @returns * Projected row index, if the row belongs to the active projection. */ export declare function getTreeViewProjectedRowIndex(row: TableRow, projectionState?: TreeProjectionState): number | undefined; /** * Resolves the stable TreeView node ID for a rendered row. * * TreeView treats `projectionState.rowIds` as the canonical projected node * order. `row.id` is preferred here only as a synchronized render-time * adapter for shared `TableRow` APIs. * * @param row * Rendered viewport or sticky row. * * @param projectionState * Current TreeView projection state. * * @returns * Stable tree node ID, if available. */ export declare function getTreeViewRowId(row: TableRow, projectionState?: TreeProjectionState): RowId | undefined; /** * Synchronizes rendered row identity with the current TreeView projection. * * This bridges shared `TableRow` identity with TreeView's projected node IDs, * including autogenerated path parents that have no backing source row. * * @param row * Rendered viewport or sticky row. * * @param projectionState * Current TreeView projection state. */ export declare function syncTreeViewRowId(row: TableRow, projectionState?: TreeProjectionState): void; /** * Converts a projected TreeView row index to the viewport-local row index. * * @param table * Viewport table handling keyboard and focus navigation. * * @param projectedRowIndex * Row index in the full TreeView projection. * * @returns * Row index relative to the current page in the viewport. */ export declare function getLocalTreeViewRowIndex(table: Table, projectedRowIndex: number): number;