import { EventEmitter } from '../../stencil-public-runtime';
import { Item, Navigation, NavigationHelpers, Slot } from '@swisscom/sdx';
import { LANGUAGE_TYPES } from "../../managers/language/constants";
import { ICompanyDetail, App, Apps, Cart, Company, NotificationInfo, NotificationItem, Profile, SdxBannerMessageType, IAdditionalSearchCompany } from './header-types';
interface EventItemDetail {
    item: Item;
}
export declare class SlHeader {
    el: HTMLSlHeaderElement;
    notificationInfo: NotificationInfo | null;
    profileInfo: Profile | null;
    companyInfo: Company | null;
    cartInfo: Cart;
    appMenuInfo: Apps | null;
    navigation: Navigation | undefined;
    externalSlots: Slot[] | null;
    hideBreadcrumbs: boolean;
    /** Event called when user clicks the stop user simulation button. */
    stopUserSimulation: EventEmitter;
    /** Event called when user clicks to navigate to my profile. */
    navigateToMyProfile: EventEmitter;
    /** Event called when user clicks to navigate to their list of saved selections. */
    navigateToMyList: EventEmitter;
    /** Event called when user clicks to manage their profiles. */
    manageUserProfiles: EventEmitter;
    /** Event called when user clicks to manage switch users associated with their account. */
    switchUser: EventEmitter;
    /** Event called when user clicks the logout button. */
    logOut: EventEmitter;
    /** Event called when user navigates to the full my company section. */
    navigateToMyCompany: EventEmitter;
    /** Event called when user navigates to My Swisscom Partner. */
    navigateToMySB: EventEmitter;
    /** Event called when user navigates to My Swisscom Business. */
    navigateToMySP: EventEmitter;
    /** Event called when user clicks on an additional company to switch to it. */
    switchCompany: EventEmitter<ICompanyDetail>;
    /** Event called when user clicks the search additional companies link. */
    searchAdditionalCompanies: EventEmitter<IAdditionalSearchCompany>;
    /** Event called when user clicks on an app entry in the app menu. */
    appMenuAppClicked: EventEmitter<App>;
    /** Event called when user clicks on a notification in the notification menu. */
    notificationClicked: EventEmitter<NotificationItem>;
    /** Event called when user clicks on a "See all" link in the notification menu. */
    seeAllClicked: EventEmitter<string>;
    /** Event called when a user navigates using one of the menu items defined in sdx-header (tabs, the logo, sidebar items)
     * Use Item emitted by the event together with NavigationHelpers to activate a specific tab/menu item */
    slNavigate: EventEmitter<Item>;
    language: LANGUAGE_TYPES;
    showSearchAdditionalCompanies: boolean;
    private slots;
    componentWillLoad(): void;
    handleSearchModeChanged(e: CustomEvent<boolean>): void;
    handleSdxNavigate(event: CustomEvent<EventItemDetail>): Promise<void>;
    onPropsChanged(): void;
    /**
     * Use to show a toast notification in the header.
     */
    showToastNotification(description: string, type: SdxBannerMessageType): Promise<void>;
    /**
     * To access the native sdx-header navigation helpers do document.querySelector('sl-header').getNavigationHelpers().then(...)
     */
    getNavigationHelpers(): Promise<NavigationHelpers>;
    constructor();
    private updateView;
    private getNotificationSlot;
    private getCartSlot;
    private setCurrentActiveMenuItem;
    render(): any;
}
export {};
