import { MatLegacyMenuTrigger as MatMenuTrigger } from '@angular/material/legacy-menu'; import * as i0 from "@angular/core"; /** * NOTE: this service is generally for internal-use. * It is intended to be used externally only for dropdowns which require nested functionality with the custom itemComponent option. */ /** * handle sub menu. * on hover item we should decide if we need to close sub menu. */ export declare class NestedMenuStateService { private readonly triggerItemToHighlighted; readonly triggerItemToHighlighted$: import("rxjs").Observable; /** * this object * * For example * menuTriggerLevelRef = { * "1": {itemId: "111", menuTriggerRef: {...}, menuLevel: 1}, * "2": {itemId: "222", menuTriggerRef: {...}, menuLevel: 2}, * } */ private menuTriggerLevelRef; /** * check if the sub menu needs to be closed. if yes, close and update the menuTriggerLevelRef * @param itemId * @param menuTriggerRef will be null in case the item doesn't have a sub menu * @param menuLevel */ handleSubMenu(itemId: string, menuTriggerRef: MatMenuTrigger | null, menuLevel: number): void; /** * reset menuTriggerLevelRef */ reset(): void; /** * get active items as map ids object */ private getActiveItemAsMapIds; /** * close sub menu if need. * @param itemId * @param menuLevel */ private closeSubMenuIfNeed; /** * remove unused entry point from menuTriggerLevelRef. * For example * menuTriggerLevelRef = { * "1": {itemId: "111", menuTriggerRef: {...}, menuLevel: 1}, * "2": {itemId: "222", menuTriggerRef: {...}, menuLevel: 2}, * "3": {itemId: "333", menuTriggerRef: {...}, menuLevel: 3}, * } * * and we get menuLevel = 1 * we will remove 2,3 entry point * Result: * menuTriggerLevelRef = { * "1": {itemId: "111", menuTriggerRef: {...}, menuLevel: 1} * } * */ removeUnUsedEntryPoint(menuLevel: number): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } //# sourceMappingURL=nested-menu-state.service.d.ts.map