import { CompleteObj, FormatedSelections, ItemId, MenuGroup, MenuGroupMap, SelectedItemType } from "../types"; /** * convert menuGroup tree to map * for each node access without need to store the node details redundantly * and simplify the management complexity * * downward propogation through childIds * upward propogation through parentId */ export declare const menuGroupTreeToMap: (menuGroup: MenuGroup) => MenuGroupMap; export declare const getConnectedItemByDirection: (obj: MenuGroupMap, isForward: boolean | undefined, nodeId: ItemId, selectedItems: SelectedItemType, isSingleSelection?: boolean) => SelectedItemType; export declare const getConnectedItems: (obj: MenuGroupMap, nodeId: ItemId, selectedItems: SelectedItemType, isSingleSelection?: boolean) => SelectedItemType; export declare const addItemSelection: (menuGroupMap: MenuGroupMap, selectedItems: SelectedItemType, itemId: ItemId) => SelectedItemType; /** * * cascading item removal and highlights the next available selection */ export declare const cascadeSelectionRemovalWithProps: (menuGroupMap: MenuGroupMap, selectedItems: SelectedItemType, itemId: ItemId, additionalProps?: { isParentUpdateRequired?: boolean; getNextAvailableSelection?: boolean; isMultiSelection?: boolean; }) => { newSelectedItems: SelectedItemType; newChildId?: ItemId; }; export declare const initPreSelections: (selections: FormatedSelections | null) => { newSelectedItems: SelectedItemType; newActiveItems: {}; } | { newSelectedItems: SelectedItemType; newActiveItems?: undefined; }; /** * Cascading item removal(current+children) * Removes the current selection and its children selections */ export declare const cascadeSelectionRemoval: (obj: MenuGroupMap, selectedItems: SelectedItemType, nodeId: ItemId) => SelectedItemType; export declare function getAllLeafNodes(treeObj: MenuGroup, index: number): CompleteObj[];