import type { Meta, StoryObj } from '@storybook/web-components';
import type { HeaderApiEnvelope, HeaderMenuMode } from './types/pn-marketweb-header.types';
/**
 * Story args for pn-marketweb-header.
 *
 * This story:
 * - renders the real pn-marketweb-header
 * - can optionally intercept its backend fetch call
 * - returns a mocked backend envelope when mocking is enabled
 * - lets the actual header component render and control its own menu switcher
 */
interface StoryArgs {
    market: string;
    language: string;
    initialActiveMenuMode: HeaderMenuMode;
    menuThemes?: string;
    environment: 'production' | 'preproduction' | 'integration' | 'localhost';
    endpoint: string;
    pageId: string;
    siteid: string;
    userToken: string;
    userFullname: string;
    userLoggedin: boolean;
    hideSiteSelector: boolean;
    hideHomeMenuItem: boolean;
    hideLanguageSelector: boolean;
    hideSearch: boolean;
    hideLogin: boolean;
    showProfileSelection: boolean;
    showUnifiedLogin: boolean;
    siteDomainInUrls: boolean;
    autocompleteEndpoint: string;
    sessionForward: boolean;
    cache: boolean;
    searchPlaceholder: string;
    spaMode: boolean;
    checkUserLoggedInStateInterval: number;
    useMarketwebLogin: boolean;
    navigateOnMenuToggle: boolean;
    /**
     * Mocked backend response envelope.
     *
     * This should match the real backend response shape.
     */
    mockedResponse: HeaderApiEnvelope;
    /**
     * When true, Storybook intercepts the header fetch and returns mockedResponse.
     * When false, the real endpoint is used.
     */
    useMockedResponse: boolean;
}
declare const meta: Meta<StoryArgs>;
export default meta;
type Story = StoryObj<StoryArgs>;
/**
 * Baseline story:
 * - 2 switchable roots
 * - 1 shared root
 */
export declare const TwoModesWithShared: Story;
/**
 * Verifies that more than 2 switchable roots are supported.
 */
export declare const ThreeModesWithShared: Story;
/**
 * Only one mode root + shared.
 * The header should not render the menu switcher.
 */
export declare const OneModeWithShared: Story;
/**
 * Shared-only structure.
 * Useful for verifying fallback rendering when no switchable roots exist.
 */
export declare const SharedOnly: Story;
/**
 * Same baseline structure, but start on the second mode.
 */
export declare const StartOnSecondMode: Story;
/**
 * Same baseline structure, but allow real navigation hrefs on mode change.
 * Mostly useful for checking rendered links rather than interacting in Storybook.
 */
export declare const NavigationEnabled: Story;
/**
 * Smaller layout story while still using mocked data.
 */
export declare const Minimal: Story;
/**
 * Menu items contain nested sub-menu items.
 */
export declare const NestedSubmenuItems: Story;
/**
 * Uses the real local CMS instead of Storybook fetch mocking.
 */
export declare const LocalCms: Story;
/**
 * Uses the real integration CMS instead of Storybook fetch mocking. //FIXME: getting cors-safe data at the moment
 */
export declare const IntegrationCms: Story;
