import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy } from '@angular/core';
import { MenuItem } from '../sidebar-menu.interface';
import { NodeService } from './node.service';
import { RoleService } from './role.service';
export declare class NodeComponent implements AfterViewInit, OnDestroy {
    nodeService: NodeService;
    roleService: RoleService;
    private changeDetectorRef;
    menuItem: MenuItem;
    level: number;
    disable: boolean;
    isActive: EventEmitter<boolean>;
    isFiltered: EventEmitter<boolean>;
    get open(): boolean;
    private menuItemComponents;
    isOpen: boolean;
    isActiveChild: boolean;
    trackByItem: import("@angular/core").TrackByFunction<({
        route?: undefined;
        linkActiveExact?: undefined;
    } & {
        url?: undefined;
        target?: undefined;
    } & {
        header?: undefined;
    } & import("../sidebar-menu.interface").MenuItemNode) | ({
        route?: undefined;
        linkActiveExact?: undefined;
    } & {
        url?: undefined;
        target?: undefined;
    } & {
        label?: undefined;
        children?: undefined;
        iconClasses?: undefined;
        badges?: undefined;
        roles?: undefined;
    } & import("../sidebar-menu.interface").MenuItemHeader) | ({
        route?: undefined;
        linkActiveExact?: undefined;
    } & {
        header?: undefined;
        children?: undefined;
    } & import("../sidebar-menu.interface").MenuItemLeafURL) | ({
        header?: undefined;
        children?: undefined;
        url?: undefined;
        target?: undefined;
    } & import("../sidebar-menu.interface").MenuItemLeafRoute)>;
    private onDestroy$;
    constructor(nodeService: NodeService, roleService: RoleService, changeDetectorRef: ChangeDetectorRef);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onNodeToggleClick(): void;
    private activeItemsSubscription;
    private filterItemsSubscription;
    private openedNodeSubscription;
}
