import { CustomMapping, FormatVariables } from './types'; import { CutoffFormatOptions } from './formatting/custom-formats/CutoffFormat/types'; import { StringFormat } from './types-dir/jsx/content'; export type LocaleConfigConstructorParams = { defaultLocale?: string; locales?: string[]; customMapping?: CustomMapping; }; type LocalesOption = { locales?: string | string[]; }; type WithLocales = T & LocalesOption; /** * LocaleConfig contains the locale and formatting primitives exposed through * the core entrypoint. * * It intentionally does not store project IDs, API keys, runtime URLs, or any * translation credentials. It only stores locale metadata needed to resolve * aliases, choose formatting fallbacks, and format values with Intl. */ export declare class LocaleConfig { readonly defaultLocale: string; readonly locales: string[]; readonly customMapping?: CustomMapping; constructor({ defaultLocale, locales, customMapping, }?: LocaleConfigConstructorParams); private get translationLocales(); private resolveCanonicalLocaleList; private resolveCanonicalLocaleArgs; private toLocaleList; private getFormattingLocales; formatNum(value: number, targetLocale?: string, options?: WithLocales): string; formatDateTime(value: Date, targetLocale?: string, options?: WithLocales): string; formatCurrency(value: number, currency: string, targetLocale?: string, options?: WithLocales): string; formatRelativeTime(value: number, unit: Intl.RelativeTimeFormatUnit, targetLocale?: string, options?: WithLocales): string; formatRelativeTimeFromDate(date: Date, targetLocale?: string, options?: WithLocales): string; formatCutoff(value: string, targetLocale?: string, options?: WithLocales): string; formatMessage(message: string, targetLocale?: string, options?: WithLocales<{ variables?: FormatVariables; dataFormat?: StringFormat; }>): string; formatList(array: Array, targetLocale?: string, options?: WithLocales): string; formatListToParts(array: Array, targetLocale?: string, options?: WithLocales): (string | T)[]; getLocaleName(locale: string): string; getLocaleEmoji(locale: string): string; getLocaleProperties(locale: string): import("./types").LocaleProperties; requiresTranslation(targetLocale: string, sourceLocale?: string, approvedLocales?: string[] | undefined): boolean; determineLocale(locales: string | string[], approvedLocales?: string[]): string | undefined; getLocaleDirection(locale: string): "ltr" | "rtl"; isValidLocale(locale: string): boolean; resolveCanonicalLocale(locale: string): string; resolveAliasLocale(locale: string): string; standardizeLocale(locale: string): string; isSameDialect(...locales: (string | string[])[]): boolean; isSameLanguage(...locales: (string | string[])[]): boolean; isSupersetLocale(superLocale: string, subLocale: string): boolean; } export {};