import { type MobileNavItem } from './MobileBurger.svelte'; export interface HeaderLogoConfig { src?: string; alt: string; href?: string; } export interface ClassicHeaderNavItem extends MobileNavItem { } export interface ClassicHeaderLanguage { code: string; name: string; nativeName: string; flag: string; } interface Props { /** Optional logo image URL. When omitted, a colored square + siteName text is rendered. */ logo?: string; /** Site name. Used as image alt and text fallback for the logo. */ siteName: string; /** Home href for the logo link. Defaults to '/'. */ homeHref?: string; navItems: ClassicHeaderNavItem[]; languages?: ClassicHeaderLanguage[]; currentLang?: string; onSelectLang?: (code: string) => void; /** Whether to show the desktop/mobile theme toggle. */ showThemeToggle?: boolean; /** Whether to show the desktop/mobile language selector. */ showLangSelector?: boolean; /** Whether to show the share button. */ showShare?: boolean; shareUrl?: string; shareTitle?: string; /** Reflects the current theme. Drives the toggle icon + aria-pressed. */ dark?: boolean; onToggleDark?: () => void; /** Called when any nav link is clicked. When provided, default * browser navigation is prevented so the parent can route — except * for middle-click / cmd+click / ctrl+click, which are honored so * users can still open in a new tab. */ onNavigate?: (href: string) => void; class?: string; } declare const ClassicHeader: import("svelte").Component; type ClassicHeader = ReturnType; export default ClassicHeader;