import { FlatDataItem, FullTree, NodeData, SearchData, TreeIndex, TreeItem, TreeNode, TreePath } from ".."; export type GetNodeKeyFunction = (data: TreeIndex & TreeNode) => string | number; export type WalkAndMapFunctionParameters = FullTree & { getNodeKey: GetNodeKeyFunction; callback: Function; ignoreCollapsed?: boolean | undefined; }; // eslint-disable-next-line @definitelytyped/no-unnecessary-generics export function getDescendantCount(data: TreeNode & { ignoreCollapsed?: boolean | undefined }): number; // eslint-disable-next-line @definitelytyped/no-unnecessary-generics export function getVisibleNodeCount(data: FullTree): number; export function getVisibleNodeInfoAtIndex( data: FullTree & { index: number; getNodeKey: GetNodeKeyFunction; }, ): TreeNode & TreePath & { lowerSiblingsCounts: number[] } | null; // eslint-disable-next-line @definitelytyped/no-unnecessary-generics export function walk(data: WalkAndMapFunctionParameters): void; export function map(data: WalkAndMapFunctionParameters): Array>; export function toggleExpandedForAll( data: FullTree & { expanded?: boolean | undefined; }, ): Array>; export function changeNodeAtPath( data: FullTree & TreePath & { newNode: Function | any; getNodeKey: GetNodeKeyFunction; ignoreCollapsed?: boolean | undefined; }, ): Array>; export function removeNodeAtPath( data: FullTree & TreePath & { getNodeKey: GetNodeKeyFunction; ignoreCollapsed?: boolean | undefined; }, ): Array>; export function removeNode( data: FullTree & TreePath & { getNodeKey: GetNodeKeyFunction; ignoreCollapsed?: boolean | undefined; }, ): (FullTree & TreeNode & TreeIndex) | null; export function getNodeAtPath( data: FullTree & TreePath & { getNodeKey: GetNodeKeyFunction; ignoreCollapsed?: boolean | undefined; }, ): (TreeNode & TreeIndex) | null; export function addNodeUnderParent( data: FullTree & { newNode: TreeItem; parentKey?: number | string | undefined; getNodeKey: GetNodeKeyFunction; ignoreCollapsed?: boolean | undefined; expandParent?: boolean | undefined; addAsFirstChild?: boolean | undefined; }, ): FullTree & TreeIndex; export function insertNode( data: FullTree & { depth: number; newNode: TreeItem; minimumTreeIndex: number; ignoreCollapsed?: boolean | undefined; expandParent?: boolean | undefined; getNodeKey: GetNodeKeyFunction; }, ): FullTree & TreeIndex & TreePath & { parentNode: TreeItem }; export function getFlatDataFromTree( data: FullTree & { getNodeKey: GetNodeKeyFunction; ignoreCollapsed?: boolean | undefined; }, ): Array>; export function getTreeFromFlatData( data: { flatData: Array, "children">>; getKey?: ((item: TreeItem) => string | number) | undefined; getParentKey?: ((item: TreeItem) => string | number | null) | undefined; rootKey?: string | number | undefined; }, ): Array>; export function isDescendant(older: TreeItem, younger: TreeItem): boolean; // eslint-disable-next-line @definitelytyped/no-unnecessary-generics export function getDepth(node: TreeItem, depth?: number): number; export function find( data: FullTree & { getNodeKey: GetNodeKeyFunction; searchQuery?: string | number | undefined; searchMethod: (data: SearchData) => boolean; searchFocusOffset?: number | undefined; expandAllMatchPaths?: boolean | undefined; expandFocusMatchPaths?: boolean | undefined; }, ): { matches: Array> } & FullTree;