import type { Locale } from '@urbicon-ui/i18n';
import type { SelectSingleProps } from '../../index.js';
/**
* Props interface for LocaleSwitcher component
*
* @summary Lets the user pick the interface language.
* @description Convenience wrapper around Select to switch UI locales.
* Single-select only — locale is always exactly one value. Options, value,
* form integration, multi-select, and null-option are all owned internally
* and intentionally not forwarded to the underlying Select.
*
* @tag form
* @related Select
*
* @example
* ```svelte
*
* ```
*
* @example
* ```svelte
*
* ```
*/
export interface LocaleSwitcherProps extends Omit, 'options' | 'groups' | 'value' | 'onValueChange' | 'multiple' | 'multiPlaceholder' | 'nullOption' | 'closeOnSelect' | 'name' | 'label' | 'helper' | 'error'> {
/** Show flag emoji alongside locale name. @default false */
showFlag?: boolean;
/**
* Micro-interaction preset forwarded to the inner Select trigger.
* Redeclared from SelectSingleProps so the inheritance is a documented
* contract rather than an accident of the Omit list.
* @default 'none'
*/
mint?: SelectSingleProps['mint'];
/** Restrict the displayed locales. Defaults to all locales registered in i18n. */
locales?: Locale[];
/** Called after the locale has been changed successfully. */
onLocaleChange?: (locale: Locale) => void;
}
export { default as LocaleSwitcher } from './LocaleSwitcher.svelte';