import { Injector, EventEmitter } from '@angular/core'; import { MatTreeFlatDataSource } from '@angular/material/tree'; import { FlatTreeControl } from '@angular/cdk/tree'; import { Observable } from 'rxjs'; import { IMenuStructure } from '../../models/rights/i-menu-structure'; import { AccessGroupsService } from '../../services/access-groups.service'; export declare class FlatStructure { level: number; expandable: boolean; origin: IMenuStructure; } export declare class AccessTreeComponent { checkChanged: EventEmitter; protected readonly _service: AccessGroupsService; private nestedNodeMap; private treeFlattener; dataSource: MatTreeFlatDataSource; treeControl: FlatTreeControl; /** The selection for checklist */ constructor(injector: Injector); initialize(accessGroupId: number, expandTree?: boolean): void; save(accessGroupId: number): Observable; toggle(node: FlatStructure): void; getLevel: (node: FlatStructure) => number; isExpandable: (node: FlatStructure) => boolean; getChildren: (node: IMenuStructure) => IMenuStructure[]; hasChild: (_: number, _nodeData: FlatStructure) => boolean; /** * Transformer to convert nested node to flat node. Record the nodes in maps for later use. */ transformer: (node: IMenuStructure, level: number) => FlatStructure; /** Toggle the to-do item selection. Select/deselect all the descendants node */ selectionToggle(node: FlatStructure): void; checkState(node: FlatStructure): boolean; getParentNode(node: FlatStructure): FlatStructure | null; }