import type { dh } from '@deephaven/jsapi-types'; import { type ModelIndex, type MoveOperation } from '@deephaven/grid'; import type ColumnHeaderGroup from '../../../ColumnHeaderGroup'; import { type ReadonlyTreeItems, type FlattenedItem, type TreeItem } from './types'; export interface IrisGridTreeItemData { modelIndex: number | number[]; visibleIndex: number | [number, number]; isVisible: boolean; group?: ColumnHeaderGroup; } export type IrisGridTreeItem = TreeItem; export type FlattenedIrisGridTreeItem = FlattenedItem; export declare function getTreeItems(columns: readonly dh.Column[], movedColumns: readonly MoveOperation[], columnHeaderGroups: readonly ColumnHeaderGroup[], hiddenColumns: readonly ModelIndex[], selectedItems: readonly string[], showHiddenColumns: boolean): IrisGridTreeItem[]; /** * Gets the projected drop position and depth of the dragged item * * @param items List of flattened items * @param activeId ID of the actively dragged item * @param overId ID of the item currently being dragged over * @param dragOffset The x-axis offset of the dragged item * @param indentationWidth The width for each level of the tree * @returns The projected position and depth if the item were to be dropped. * Null if the projection could not be calculated. */ export declare function getProjection(items: readonly FlattenedItem[], activeId: string, overId: string, dragOffset: number, indentationWidth: number): { depth: number; maxDepth: number; minDepth: number; parentId: string | null; } | null; /** * Flattens a tree into a 1D array given the items * @param items The tree items to flatten * @returns The flattened tree items list */ export declare function flattenTree(items: ReadonlyTreeItems): FlattenedItem[]; /** * Recursively checks for the item in a list of items. * The list does not have to be flattened prior to searching. * * @param items Items to search * @param itemId Item to find * @returns The item if found */ export declare function findItemDeep(items: ReadonlyTreeItems, itemId: string): TreeItem | undefined; export declare function getChildCount(items: ReadonlyTreeItems, id: string): number; /** * Removes the children of the list of parents from the list of flattened items * * @param items The flattened items to remove from * @param ids The parents we want to remove the children of * @returns The flattened items without the children of the parents */ export declare function removeChildrenOf(items: FlattenedItem[], ids: string[]): FlattenedItem[]; //# sourceMappingURL=utilities.d.ts.map