import { NestedTreeControl } from '@angular/cdk/tree';
import { Params, Router } from '@angular/router';
import { MatTreeNestedDataSource } from '@angular/material/tree';
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { SdLayoutStorageService, SdLayoutMenu } from '../../../../services';
import { MenuFocusPipe } from '../../../../pipes';
import { ISdLayoutConfiguration, ISidebarConfigurationV1 } from '../../../../configurations';
import * as i0 from "@angular/core";
export declare class LayoutSidebarComponent implements OnDestroy, OnInit {
    #private;
    private router;
    private layoutConfiguration;
    private layoutStorageService;
    private menuFocusPipe;
    isShowSidebar: boolean;
    set _menus(menus: SdLayoutMenu[]);
    expandSideBar: EventEmitter<void>;
    popupUserMenuClosed: EventEmitter<void>;
    popupUserMenuOpened: EventEmitter<void>;
    showSideBar: EventEmitter<boolean | null>;
    menusOrigin: SdLayoutMenu[];
    screenHeight: number;
    searchText: string;
    isMenuLock: boolean;
    currentPath: string;
    titleMenuGroup: string | undefined;
    isMobileOrTablet: boolean;
    sidebar: ISidebarConfigurationV1;
    dataSource: MatTreeNestedDataSource<SdLayoutMenu>;
    idMenuGroupActive: string | undefined;
    menusByGroup: SdLayoutMenu[];
    totalMenuInMenusByGroup: number;
    treeControl: NestedTreeControl<SdLayoutMenu, SdLayoutMenu>;
    constructor(router: Router, layoutConfiguration: ISdLayoutConfiguration, layoutStorageService: SdLayoutStorageService, menuFocusPipe: MenuFocusPipe);
    ngOnInit(): Promise<void>;
    ngOnDestroy(): void;
    hasChild: (_: number, node: SdLayoutMenu) => boolean;
    onToggleMenuNode: (menu: SdLayoutMenu) => void;
    toggleMenuLock(event: Event): void;
    openHomePage: () => void;
    onUserMenuClosed: () => void;
    onUserMenuOpened: () => void;
    navigate: (args: {
        path: string;
        queryParams: Params;
    }) => void;
    onFilterSearchText: (event: string) => void;
    onClearSearchText: () => void;
    expandMenuGroup: (menuGroupNode: SdLayoutMenu) => void;
    onMouseOverMenuGroupNode: (event: MouseEvent, menuNode: SdLayoutMenu) => void;
    onMouseLeaveMenuGroupNode: (event: MouseEvent, menuNode: SdLayoutMenu) => void;
    onMouseOverMenuNode: (event: MouseEvent, menuItem: SdLayoutMenu) => void;
    onMouseLeaveMenuNode: (event: MouseEvent, menuItem: SdLayoutMenu) => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutSidebarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutSidebarComponent, "lib-layout-sidebar", never, { "isShowSidebar": { "alias": "isShowSidebar"; "required": false; }; "_menus": { "alias": "menus"; "required": false; }; }, { "expandSideBar": "expandSideBar"; "popupUserMenuClosed": "popupUserMenuClosed"; "popupUserMenuOpened": "popupUserMenuOpened"; "showSideBar": "showSideBar"; }, never, never, true, never>;
}
