import { AIMSAccount, AlRoute, AlStopwatch, AlSubscriptionGroup } from '@al/core';
import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ConfirmationService, MenuItem as PrimengMenuItem } from 'primeng-lts/api';
import { AlNavigationService } from '../../services/al-navigation.service';
import { AlDatacenterOptionsSummary, AlNavigationContextChanged } from '../../types';
import * as i0 from "@angular/core";
export declare class AlArchipeligo17UserMenuComponent implements OnInit, OnChanges, OnDestroy {
    router: Router;
    activatedRoute: ActivatedRoute;
    alNavigation: AlNavigationService;
    private confirmationService;
    menu: AlRoute;
    menuItems: PrimengMenuItem[];
    userMenuAvailable: boolean;
    allAccountsData: AIMSAccount[];
    allAccountsLoaded: boolean;
    notificationPrefsAvailable: boolean;
    /**
     *  Initials menu container
     */
    initialsMenu: PrimengMenuItem[];
    /**
     *  Active child menu (determined during refresh cycles by activated items in primary menu)
     */
    activeChild: AlRoute;
    /**
     *  DCO properties
     */
    datacenter: AlDatacenterOptionsSummary;
    /**
     *  Account and user information
     */
    userName: string;
    accountName: string;
    accountId: string;
    refresh: AlStopwatch;
    elipsisMenu: {
        hide: () => void;
    } | undefined;
    /**
     *  Private/internal state
     */
    protected subscriptions: AlSubscriptionGroup;
    constructor(router: Router, activatedRoute: ActivatedRoute, alNavigation: AlNavigationService, confirmationService: ConfirmationService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onNavigationContextChanged: (navigationEvent?: AlNavigationContextChanged) => void;
    parseToPrimeMenuItem(route: AlRoute): PrimengMenuItem;
    loadinitialsMenu(): void;
    onClick(menuItem: AlRoute, $event: any): void;
    onClickDatacenter: (insightLocationId: string, $event: any) => void;
    onHoverStart(menuItem: AlRoute, $event: any): void;
    getDefaultReturnLocation(): string;
    hideElipsisMenu(): void;
    /**
     * When a new account has been selected.
     */
    selectActingAccount(selectedAccount: AIMSAccount): void;
    /**
     * When a new account has been selected.
     * TODO: reinstate this funness
     */
    selectActingAccountById(selectedAccountID: string): void;
    /**
     * Loads all the accounts.
     */
    loadAllManagedAccounts: () => void;
    /**
     * Navigates to the user preferences page.
     */
    goToUserPreferences: () => void;
    static ɵfac: i0.ɵɵFactoryDef<AlArchipeligo17UserMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlArchipeligo17UserMenuComponent, "al-archipeligo17-user-menu", never, { "menu": "menu"; }, {}, never, never>;
}
