import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Subscription } from 'rxjs';
import { MenuGroup, MenuGroupRoute } from '../../../interfaces/app-menu.interface';
import { AppMenuService } from '../../../services/app-menu.service';
import { PermissionsService } from '../../../services/permissions/permissions.service';
import { OTranslateService } from '../../../services/translate/o-translate.service';
import { OPermissions } from '../../../types/o-permissions.type';
import { OAppSidenavBase } from '../o-app-sidenav-base.class';
import { OAppLayoutBase } from '../../../layouts/app-layout/o-app-layout-base.class';
import * as i0 from "@angular/core";
export declare const DEFAULT_INPUTS_O_APP_SIDENAV_MENU_GROUP: string[];
export declare const DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_GROUP: string[];
export declare class OAppSidenavMenuGroupComponent implements OnInit, AfterViewInit, OnDestroy {
    protected injector: Injector;
    protected elRef: ElementRef;
    protected cd: ChangeDetectorRef;
    onItemClick: EventEmitter<any>;
    onClickEvent: EventEmitter<any>;
    protected translateService: OTranslateService;
    protected permissionsService: PermissionsService;
    appMenuService: AppMenuService;
    sidenav: OAppSidenavBase;
    protected sidenavSubscription: Subscription;
    protected permissions: OPermissions;
    protected mutationObserver: MutationObserver;
    menuGroup: (MenuGroup | MenuGroupRoute);
    sidenavOpened: boolean;
    level: number;
    hidden: boolean;
    disabled: boolean;
    protected _contentExpansion: any;
    protected router: Router;
    routerSubscription: Subscription;
    active: boolean;
    oAppLayoutComponent: OAppLayoutBase;
    constructor(injector: Injector, elRef: ElementRef, cd: ChangeDetectorRef);
    ngOnInit(): void;
    get shouldShowTooltip(): boolean;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    protected parsePermissions(): void;
    onClick(): void;
    toggle(event?: Event): void;
    navigate(): void;
    updateContentExpansion(): void;
    get contentExpansion(): string;
    set contentExpansion(val: string);
    get tooltip(): string;
    onMenuItemClick(e: Event): void;
    getClass(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<OAppSidenavMenuGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OAppSidenavMenuGroupComponent, "o-app-sidenav-menu-group", never, { "menuGroup": { "alias": "menu-group"; "required": false; }; "sidenavOpened": { "alias": "sidenav-opened"; "required": false; }; "level": { "alias": "level"; "required": false; }; }, { "onItemClick": "onItemClick"; }, never, never, true, never>;
}
