import _default from "../translations/base.js"; import { ReadonlySignal } from "@odx/foundation"; declare global { var _odxTranslations: ReadonlySignal>> | undefined; namespace ODX.I18n { interface AvailableLanguages { en: true; } type TranslateKey = ExpandUnion> | (string & {}); type Languages = keyof AvailableLanguages; } } type Translation = { [key: string]: Translation | string; }; type TranslateContext = Record | string | number | boolean | null; declare function registerTranslation(locale: Intl.Locale | Intl.UnicodeBCP47LocaleIdentifier, translation: Translation): void; declare function translate(key: ODX.I18n.TranslateKey, contextInput?: TranslateContext, localeInput?: Intl.Locale | Intl.UnicodeBCP47LocaleIdentifier | null): ReadonlySignal; type ExpandUnion = T extends unknown ? T : never; type ExtractTranslationKeys = { [K in keyof T]: T[K] extends string ? `${Prefix}${K & string}` : T[K] extends object ? ExtractTranslationKeys : never }[keyof T]; type GetTranslationKeysObject = { [key in ExtractTranslationKeys]: true }; export { TranslateContext, Translation, registerTranslation, translate };