import { LoginDialog, MenuItem, MenuSiteDefinition } from '../../pn-marketweb-siteheader/pn-marketweb-siteheader-types';
/**
 * Removes duplicated language segments from generated URLs.
 *
 * Example:
 * /sv/sv/page -> /sv/page
 *
 * This protects against incorrectly concatenated site-domain-based URLs.
 */
export declare function removeDoubleLanguage(url: string, language: string): string;
/**
 * Resolves a menu/login href to an absolute site-relative URL when needed.
 *
 * What it does:
 * - Leaves fully-qualified http/https URLs unchanged
 * - Prefixes relative URLs with the current site definition domain
 * - Cleans up accidental double language segments
 */
export declare function adjustHref(href: string, siteDefinition: MenuSiteDefinition, language: string): string;
/**
 * Recursively adjusts a menu item and all child menu items so that
 * relative URLs become site-domain-aware absolute URLs.
 *
 * This returns a new object rather than mutating the original API item.
 */
export declare function adjustMenuItemUrls(item: MenuItem, siteDefinition: MenuSiteDefinition, language: string): MenuItem;
/**
 * Adjusts login dialog links so that relative URLs are resolved against
 * the active site domain.
 *
 * This is used when siteDomainInUrls is enabled.
 */
export declare function adjustLoginDialogUrls(loginDialog: LoginDialog | null, siteDefinition: MenuSiteDefinition, language: string): LoginDialog | null;
/**
 * Navigates to the provided href when available.
 */
export declare function navigateToHref(href?: string | null): void;
/**
 * Navigates to a menu item's href when available.
 */
export declare function navigateToMenuItem(item: MenuItem | null): void;
