import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { Subscription } from 'rxjs';
import { PoLanguageService } from '../../services';
import { PoMenuComponent, PoMenuGlobalService, PoMenuHeaderTemplateDirective } from '../po-menu';
import { PoHeaderActions } from './interfaces/po-header-actions.interface';
import { PoHeaderBaseComponent } from './po-header-base.component';
import { PoHeaderMenuItemComponent } from './po-header-menu-item/po-header-menu-item.component';
/**
 * @docsExtends PoHeaderBaseComponent
 *
 * @example
 *
 * <example name="po-header-basic" title="PO Header Basic">
 *  <file name="sample-po-header-basic/sample-po-header-basic.component.html"> </file>
 *  <file name="sample-po-header-basic/sample-po-header-basic.component.ts"> </file>
 * </example>
 *
 * <example name="po-header-labs" title="PO Header Labs">
 *  <file name="sample-po-header-labs/sample-po-header-labs.component.html"> </file>
 *  <file name="sample-po-header-labs/sample-po-header-labs.component.ts"> </file>
 * </example>
 *
 * <example name="po-header-apps" title="PO Header Apps">
 *  <file name="sample-po-header-apps/sample-po-header-apps.component.html"> </file>
 *  <file name="sample-po-header-apps/sample-po-header-apps.component.ts"> </file>
 * </example>
 *
 */
export declare class PoHeaderComponent extends PoHeaderBaseComponent implements AfterViewInit, OnChanges, OnInit, OnDestroy {
    private readonly cd;
    private readonly elRef;
    private readonly menuGlobalService;
    afterViewInitWascalled: boolean;
    showMenu: boolean;
    visibleMenuItems: Array<any>;
    overflowItems: Array<any>;
    showOverflow: boolean;
    resizeSubscription: Subscription;
    private menusSubscription;
    private applicationMenuSubscription;
    private menuIdSubscription;
    private menuonChangesSubscription;
    private removedMenuSubscription;
    previousMenuComponentId: any;
    private resizeSub;
    menuExternal: any[];
    existMenuExternal: boolean;
    applicationMenu: PoMenuComponent;
    private readonly id;
    private currentWidth;
    private previousMenusItems;
    buttonFirstAction: ElementRef;
    buttonFirstActionRef: ElementRef;
    navElement: ElementRef;
    menuWrapperBrand: ElementRef<HTMLElement>;
    menuWrapperTools: ElementRef<HTMLElement>;
    overflowButton: ElementRef<HTMLElement>;
    overflowButtonComponentEl: PoHeaderMenuItemComponent;
    menuSubItems: QueryList<ElementRef<HTMLElement>>;
    menuHeaderTemplate: PoMenuHeaderTemplateDirective;
    set menuComponent(menu: PoMenuComponent);
    constructor(cd: ChangeDetectorRef, elRef: ElementRef, menuGlobalService: PoMenuGlobalService, poLanguageService: PoLanguageService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    toggleOverflowDropdown(): void;
    updateMenu(): void;
    updateButtonMore(): void;
    onClickMenu(): void;
    onCloseMenu(): void;
    handleSmallSreen(): void;
    handleLargeSreen(): void;
    private combineItems;
    private combineItemsExternal;
    onSelected({ item, focus }: {
        item: PoHeaderActions;
        focus: boolean;
    }): void;
}
