import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Subscription } from 'rxjs';
import { AppMenuService } from '../../../services/app-menu.service';
import { AuthService } from '../../../services/auth.service';
import { DialogService } from '../../../services/dialog.service';
import { OUserInfoService } from '../../../services/o-user-info.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_ITEM: string[];
export declare const DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_ITEM: string[];
export declare class OAppSidenavMenuItemComponent implements OnInit, AfterViewInit, OnDestroy {
    protected injector: Injector;
    protected elRef: ElementRef;
    protected cd: ChangeDetectorRef;
    onClick: EventEmitter<any>;
    protected translateService: OTranslateService;
    protected authService: AuthService;
    protected dialogService: DialogService;
    protected permissionsService: PermissionsService;
    protected oUserInfoService: OUserInfoService;
    protected appMenuService: AppMenuService;
    protected userInfoSubscription: Subscription;
    protected sidenav: OAppSidenavBase;
    protected router: Router;
    menuItem: any;
    menuItemType: string;
    sidenavOpened: boolean;
    disabled: boolean;
    protected appSidenavToggleSubscription: Subscription;
    protected routerSubscription: Subscription;
    protected oAppLayoutComponent: OAppLayoutBase;
    protected permissions: OPermissions;
    protected mutationObserver: MutationObserver;
    hidden: boolean;
    active: boolean;
    constructor(injector: Injector, elRef: ElementRef, cd: ChangeDetectorRef);
    ngOnInit(): void;
    get shouldShowTooltip(): boolean;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    protected parsePermissions(): void;
    setUserInfoImage(): void;
    executeItemAction(): void;
    configureI18n(): void;
    isConfiguredLang(): boolean;
    logout(): void;
    navigate(): void;
    triggerClick(e: Event): void;
    isActionItem(): boolean;
    isLocaleItem(): boolean;
    isLogoutItem(): boolean;
    isUserInfoItem(): boolean;
    isDefaultItem(): boolean;
    get useFlagIcons(): boolean;
    get tooltip(): string;
    getClass(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<OAppSidenavMenuItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OAppSidenavMenuItemComponent, "o-app-sidenav-menu-item", never, { "menuItem": { "alias": "menu-item"; "required": false; }; "menuItemType": { "alias": "menu-item-type"; "required": false; }; "sidenavOpened": { "alias": "sidenav-opened"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onClick": "onClick"; }, never, never, true, never>;
}
