import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import type { QueryList } from '@angular/core';
import { Router } from '@angular/router';
import { RoutingService } from '../../services/routing.service';
import { WrapperService } from '../wrapper/wrapper.service';
import { HeaderService } from '../header/header.service';
import { LayoutStore } from '../layout.store';
import { AnimationEvent } from '../../animations/animations.interface';
import { SidebarLeftToggleDirective } from './sidebar-left.directive';
export interface Item {
    id: number;
    parentId: number;
    label: string;
    route?: string;
    iconClasses?: string;
    children?: Array<Item>;
    isActive?: boolean;
    isCollapsed?: boolean;
    disableCollapse?: boolean;
}
export declare type Items = Item[];
export declare class SidebarLeftComponent implements OnInit, AfterViewInit, OnDestroy {
    private changeDetectorRef;
    private layoutStore;
    private ngZone;
    private renderer2;
    private router;
    private routingService;
    private wrapperService;
    private headerService;
    sidebarElement: ElementRef;
    sidebarLeftToggleDirectives: QueryList<SidebarLeftToggleDirective>;
    menu?: Items;
    sidebarHeight?: number;
    sidebarOverflow?: string;
    private layout;
    private isSidebarLeftCollapsed;
    private isSidebarLeftExpandOnOver;
    private isSidebarLeftMouseOver;
    private windowInnerWidth?;
    private windowInnerHeight?;
    private collapsedItems;
    private activatedItems;
    private toggleListeners;
    private listeners;
    private itemsByIds;
    private runningAnimations;
    private subscriptions;
    private activeUrl;
    private initialized;
    constructor(changeDetectorRef: ChangeDetectorRef, layoutStore: LayoutStore, ngZone: NgZone, renderer2: Renderer2, router: Router, routingService: RoutingService, wrapperService: WrapperService, headerService: HeaderService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    setSidebarListeners(): void;
    getIconClasses(item: Item): string;
    visibilityStateStart(event: AnimationEvent): void;
    private setMenuListeners;
    private uncollapseItemParents;
    private findItemsByUrl;
    private activeItems;
    private monkeyPatchMenu;
    private setMenuTogglesListeners;
    private checkMenuWithoutChildren;
    private setSidebarHeight;
}
