import { TooltipTrigger } from '@alauda/ui';
import { OnInit, OnDestroy, AfterViewInit, ElementRef } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { IframeConfigService } from '../../../iframe-config/public-api';
import { PageComponent } from '../../../page-scaffold/page/page.component';
import { NavGroupConfig, NavItemConfig } from './nav-menu.types';
import * as i0 from "@angular/core";
export declare class NavMenuComponent implements OnInit, OnDestroy, AfterViewInit {
    private readonly pageCpt;
    private readonly iframeConfigService;
    private readonly expandedKey$$;
    private readonly focusedRootKey$$;
    activatedKey: string;
    activatedKey$: Observable<string>;
    isCollapse: boolean;
    isCollapse$: Observable<boolean>;
    triggerType: TooltipTrigger;
    configs: NavItemConfig[];
    configs$: Observable<NavItemConfig[]>;
    groups: NavGroupConfig[];
    groups$: Observable<NavGroupConfig[]>;
    disableAniIcon: boolean;
    container: ElementRef;
    content: ElementRef;
    filteredConfigs$: Observable<NavItemConfig[]>;
    showShadow$: BehaviorSubject<boolean>;
    isIntersecting: boolean;
    items$: Observable<NavItemConfig[]>;
    paths$: Observable<string[][]>;
    activeKeys$: Observable<string[]>;
    expandedKeys$: Observable<string[]>;
    focusedRootKey$: Observable<string>;
    constructor(pageCpt: PageComponent, iframeConfigService: IframeConfigService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    scroll(type: string): void;
    private findPathByLastKey;
    private getPaths;
    expandedKeyChanged(key: string): void;
    focusedRootKeyChange(key: string): void;
    private readonly addSidenavAni;
    toggleCollapse(): void;
    updateCollapseClass(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NavMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NavMenuComponent, "acl-nav-menu", never, { "activatedKey": { "alias": "activatedKey"; "required": false; }; "isCollapse": { "alias": "isCollapse"; "required": false; }; "triggerType": { "alias": "triggerType"; "required": false; }; "configs": { "alias": "configs"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "disableAniIcon": { "alias": "disableAniIcon"; "required": false; }; }, {}, never, never, false, never>;
}
