export type CustomRegionMapping = { [region: string]: { name?: string; emoji?: string; locale?: string; }; }; /** * Retrieves multiple properties for a given region code, including: * - `code`: the original region code * - `name`: the localized display name * - `emoji`: the associated flag or symbol * * Behavior: * - Accepts ISO 3166-1 alpha-2 or UN M.49 region codes (e.g., `"US"`, `"FR"`, `"419"`). * - If `customMapping` contains a `name` or `emoji` for the region, those override the default values. * - Otherwise, uses `Intl.DisplayNames` to get the localized region name in the given `defaultLocale`, * falling back to `libraryDefaultLocale`. * - Falls back to the region code as `name` if display name resolution fails. * - Falls back to `defaultEmoji` if no emoji can be computed or found in `customMapping`. * * @param {string} region - The region code to look up (e.g., `"US"`, `"GB"`, `"DE"`). * @param {string} [defaultLocale=libraryDefaultLocale] - The locale to use when localizing the region name. * @param {CustomRegionMapping} [customMapping] - Optional mapping of region codes to custom names and/or emojis. * @returns {{ code: string, name: string, emoji: string, locale?: string }} An object containing: * - `code`: the input region code * - `name`: the localized or custom region name * - `emoji`: the matching emoji flag or symbol * - `locale`: the optional associated locale from custom mapping * * @example * getRegionProperties('US', 'en'); * // => { code: 'US', name: 'United States', emoji: '๐Ÿ‡บ๐Ÿ‡ธ' } * * @example * getRegionProperties('US', 'fr'); * // => { code: 'US', name: 'ร‰tats-Unis', emoji: '๐Ÿ‡บ๐Ÿ‡ธ' } * * @example * getRegionProperties('US', 'en', { US: { name: 'USA', emoji: '๐Ÿ—ฝ' } }); * // => { code: 'US', name: 'USA', emoji: '๐Ÿ—ฝ' } */ export declare function getRegionProperties(region: string, defaultLocale?: string, customMapping?: CustomRegionMapping): { code: string; name: string; emoji: string; locale?: string; };