export interface CountryOption { /** ISO 3166-1 alpha-2 code — "FR" */ codeIso2: string; /** Human-readable country name */ country: string; /** International dialing prefix — "+33" */ phoneCode: string; } export interface CountryAutocompleteProps { /** Options offered by the picker — the list (and its fetching) belongs to the consumer */ countries: CountryOption[]; /** Forwarded as `data-test` on the root element, for end-to-end selectors */ dataTest?: string; /** ISO2 code shown while `value` is null, resolved from `countries` — e.g. the tenant's home country */ defaultCountryCode?: string; /** Field label, already translated by the consumer (the design system only bundles en/fr) */ label: string; /** Fires on user selection only — never for the resolved `defaultCountryCode` */ onChange: (country: CountryOption) => void; /** Marks the field required (label asterisk) — validation itself belongs to the consumer */ required?: boolean; /** Controlled selection; `null` shows `defaultCountryCode` (or nothing) until the user picks */ value: CountryOption | null; /** Field width — the closed field only shows flag + ISO2 code, so its natural width is stable */ width?: number | string; } /** * Country picker showing flag + ISO2 code, searchable by name, code or phone prefix. * Purely presentational: the country list (and the label translation) belong to the consumer. */ declare const CountryAutocomplete: ({ countries, dataTest, defaultCountryCode, label, onChange, required, value, width, }: CountryAutocompleteProps) => import("@emotion/react/jsx-runtime").JSX.Element; export default CountryAutocomplete;