import { type Language } from '../../../contexts/LanguageContext'; export type { Language }; export interface LanguageSelectorProps { /** Whether to show text labels alongside the globe icon */ showLabel?: boolean; /** UI variant style */ variant?: 'minimal' | 'default'; /** Whether to show the globe icon */ showIcon?: boolean; /** Additional CSS classes */ className?: string; /** * Whether to render the selector when only one language is configured. * When `false` (the default), the selector hides itself in monolingual apps. */ showWhenMonolingual?: boolean; } /** * `LanguageSelector` — a self-contained language picker wired to `LanguageContext`. * * The list of languages displayed is read from `LanguageContext.availableLanguages` * (configured via the `availableLanguages` prop on `` or * ``). The component is fully data-driven: pass any number of * languages and they will all appear in the dropdown. * * Changing the selected language: * 1. Updates `LanguageContext` (persists to localStorage) * 2. Calls `i18n.changeLanguage()` (all `useTranslation()` consumers re-render) * 3. Invalidates the React Query cache (data-layer strings refresh) * * **Auto-hide:** When only one language is configured (`isMonolingual === true`), * the component renders `null` by default. Pass `showWhenMonolingual` to override. * * Must be rendered inside ``. */ export declare function LanguageSelector({ showLabel, variant, showIcon, className, showWhenMonolingual, }: LanguageSelectorProps): import("react/jsx-runtime").JSX.Element | null;