import { EventEmitter } from '../../../stencil-public-runtime';
import type { EnvironmentName, MarketName } from '../../../services/pn-refined-marketweb-context/pn-refined-marketweb-context.types';
import { SiteHeaderI18N } from '../pn-marketweb-siteheader/pn-marketweb-siteheader-types';
import type { HeaderMenuMode, HeaderViewModel } from './types/pn-marketweb-header.types';
/**
 * New marketweb header wrapper.
 *
 * Responsibilities:
 * - resolve runtime context
 * - fetch header data
 * - map backend data into a renderable view model
 * - render the layout using existing leaf/header components
 * - owns the active menu mode when a switchable menu structure exists
 */
export declare class PnMarketwebHeader {
    hostElement: HTMLElement;
    initialActiveMenuMode: HeaderMenuMode;
    /** Optional menu theme labels, e.g. ['Business', 'Private']. passed in as a sting via cms */
    menuThemes?: string;
    /** Market to use for the header. Falls back to refined context resolution when omitted. */
    market: MarketName | null;
    /** Language to use for the header. Falls back to refined context resolution when omitted. */
    language: string | null;
    /** Environment to use for the header. Falls back to refined context resolution when omitted. */
    environment: EnvironmentName | null;
    /** Explicit endpoint override. When omitted it is resolved from market + environment. */
    endpoint: string | null;
    /** Current site id (guid), forwarded into the search component. */
    siteid: string | null;
    /** Current page id forwarded to the header backend endpoint. */
    pageId: string;
    /** Access token passed from backend. */
    userToken: string;
    /** User full name from backend. */
    userFullname: string;
    /** User logged in state from backend. */
    userLoggedin: boolean;
    /** Hides the site selector when true. */
    hideSiteSelector: boolean;
    /** Hides the generated home menu item when true. */
    hideHomeMenuItem: boolean;
    /** Hides the language selector when true. */
    hideLanguageSelector: boolean;
    /** Hides search when true. */
    hideSearch: boolean;
    /** Hides login when true. */
    hideLogin: boolean;
    /** Enables profile selection presentation in the login component. */
    showProfileSelection: boolean;
    /** Enables unified login presentation in the login component. */
    showUnifiedLogin: boolean;
    /** Adjust relative URLs against the site domain when true. */
    siteDomainInUrls: boolean;
    /** Autocomplete endpoint forwarded into the search view model. */
    autocompleteEndpoint: string;
    /** Whether session forwarding should be attempted after login state changes. */
    sessionForward: boolean;
    /** Enables cached requests in FetchHelper when true. */
    cache: boolean;
    /** Optional override for translated search placeholder text. */
    searchPlaceholder: string;
    /** When true, language selector options should not navigate directly by URL. */
    spaMode: boolean;
    /** Interval forwarded to the login component for login state checks. */
    checkUserLoggedInStateInterval: number;
    /** Enables marketweb login mode in the login component. */
    useMarketwebLogin: boolean;
    /** When true, changing menu mode navigates to the selected root href. */
    navigateOnMenuToggle: boolean;
    /** The mapped UI state used for rendering the header. */
    vm: HeaderViewModel | null;
    /** Current translations for the active language. */
    i18n: SiteHeaderI18N;
    /** Simple loading state for the wrapper. */
    status: 'idle' | 'loading' | 'ready' | 'error';
    /** Whether the main search should collapse to a compact version. */
    minimizeSearch: boolean;
    /** Internal login state used for special link handling. */
    loggedIn: boolean;
    /** Active menu mode when the backend structure supports menu switching. */
    activeMenuMode: HeaderMenuMode;
    /** Guard used to prevent watchers from reloading during initial setup. */
    private isInitializing;
    /** Cached raw backend payload so UI-only prop changes can remap without refetching. */
    private rawHeaderData;
    /** Main nav element reference used for overflow calculation. */
    private mainNavEl?;
    /** Emitted when the language changes. */
    changeLanguage: EventEmitter<string>;
    /** Emitted when the market changes. */
    changeMarket: EventEmitter<MarketName>;
    /** Shared helper for backend requests. */
    private fetchHelper;
    /** Service for context resolution and header-data fetching. */
    private headerService;
    private hasResolvedInitialMenuMode;
    componentWillLoad(): Promise<void>;
    onLanguageSelectorChange(e: CustomEvent<string>): void;
    onLanguageChange(): Promise<void>;
    onMarketChange(): Promise<void>;
    onEnvironmentChange(): Promise<void>;
    onEndpointChange(): Promise<void>;
    onPageIdChange(): Promise<void>;
    onPresentationInputChange(): void;
    onLoginStateChange(e: CustomEvent<{
        loggedIn?: boolean;
        token?: string;
    }>): void;
    handleResize(): void;
    private get menuThemeList();
    private get logoUrl();
    private loadHeader;
    private remapViewModel;
    private applyHeaderState;
    private checkMenuOverflow;
    private isUserLoggedIn;
    private adjustSiteSelectorUrl;
    private onMenuToggleChange;
    private getVisibleMenuGroups;
    render(): any;
}
