import React from 'react';
import { Hospital } from "../../care/interfaces/types";
import { LocaleType, ProjectType } from "../../interfaces/types";
import { Option } from "../molecules/languageSwitcher/tooltipSelection";
import { HelpfulUrl } from "../../ecom/dataFormatter/lib/dataTypes";
import { VideoItemType } from "../../interfaces/types/Video";
import { Community, Post } from "../../together/interfaces/types";
import { NavConfig } from "./hooks/useNavConfig";
import { Category, HealthTool, MenuServiceType, Specialty, SpotlightSummary, State } from "./types";
export type NavMenuContentType = {
    categories?: {
        items?: Category[];
        spotlights?: SpotlightSummary[];
    };
    healthTools?: {
        items?: HealthTool[];
        spotlights?: HealthTool[];
    };
    care?: {
        items?: Specialty[];
        spotlights?: Hospital[];
    };
    together?: {
        items?: Community[];
        spotlights?: Post[];
    };
    ecom?: {
        helpfulUrls: HelpfulUrl[];
    };
    videos?: {
        items?: {
            name: string;
            link: string;
            thumbnail: string;
        }[];
        spotlights?: VideoItemType[];
    };
};
export type Props = {
    isMobile?: boolean;
    projectType?: ProjectType;
    siteType: 'marryBaby' | 'helloSites';
    ssrMenuContent?: NavMenuContentType;
    className?: string;
    onBookingClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
    activeMenuService?: MenuServiceType;
    onLogout?: () => void;
    marryBaby?: {
        tone: 'pink' | 'white';
        marryBabyApiDomain?: string;
    };
    locale: LocaleType;
    userState: State;
    onTopBarAppears?: (b: boolean) => void;
    sitewideBanner?: JSX.Element;
    sitewideBannerShown?: boolean;
    sponsorComponent?: JSX.Element;
    logoComponent?: JSX.Element;
    languageOptions?: Option[];
    currentUrl?: string;
    isFirstLogin?: boolean;
    userProfileRouterPush?: (s: string) => void;
    isUserLoading?: boolean;
    onLoginClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
    configs?: Partial<NavConfig>;
    enableBookingBtn?: boolean;
    cartNumber?: number;
    subHead?: JSX.Element;
    isHomepage?: boolean;
};
declare const NavigationV2: (props: Props) => React.JSX.Element;
export declare const getNavMenuContent: (locale: string) => Promise<NavMenuContentType>;
export declare const getNavMenuContentWithCache: (locale?: string) => Promise<NavMenuContentType>;
export { NavigationV2 };
