import type { LocaleDetector } from 'typesafe-i18n/detectors'; import type { LocaleTranslationFunctions, TranslateByString } from 'typesafe-i18n'; import type { Formatters, Locales, Translations, TranslationFunctions } from './i18n-types'; export declare const baseLocale: Locales; export declare const locales: Locales[]; export declare const isLocale: (locale: string) => locale is Locales; export declare const loadedLocales: Record; export declare const loadedFormatters: Record; export declare const extendDictionary: (base: Base, part: (Translation extends string ? string : Translation extends import("typesafe-i18n").BaseTranslation ? Translation extends infer T extends import("typesafe-i18n").BaseTranslation ? { [P in keyof T]?: Translation[P] extends infer T_1 ? T_1 extends Translation[P] ? T_1 extends string ? string : T_1 extends import("typesafe-i18n").BaseTranslation ? T_1 extends infer T_2 extends import("typesafe-i18n").BaseTranslation ? { [P_1 in keyof T_2]?: T_1[P_1] extends infer T_3 ? T_3 extends T_1[P_1] ? T_3 extends string ? string : T_3 extends import("typesafe-i18n").BaseTranslation ? T_3 extends infer T_4 extends import("typesafe-i18n").BaseTranslation ? { [P_2 in keyof T_4]?: T_3[P_2] extends infer T_5 ? T_5 extends T_3[P_2] ? T_5 extends string ? string : T_5 extends import("typesafe-i18n").BaseTranslation ? T_5 extends infer T_6 extends import("typesafe-i18n").BaseTranslation ? { [P_3 in keyof T_6]?: T_5[P_3] extends infer T_7 ? T_7 extends T_5[P_3] ? T_7 extends string ? string : T_7 extends import("typesafe-i18n").BaseTranslation ? T_7 extends infer T_8 extends import("typesafe-i18n").BaseTranslation ? { [P_4 in keyof T_8]?: T_7[P_4] extends infer T_9 ? T_9 extends T_7[P_4] ? T_9 extends string ? string : T_9 extends import("typesafe-i18n").BaseTranslation ? T_9 extends infer T_10 extends import("typesafe-i18n").BaseTranslation ? { [P_5 in keyof T_10]?: T_9[P_5] extends infer T_11 ? T_11 extends T_9[P_5] ? T_11 extends string ? string : T_11 extends import("typesafe-i18n").BaseTranslation ? T_11 extends infer T_12 extends import("typesafe-i18n").BaseTranslation ? { [P_6 in keyof T_12]?: T_11[P_6] extends infer T_13 ? T_13 extends T_11[P_6] ? T_13 extends string ? string : T_13 extends import("typesafe-i18n").BaseTranslation ? T_13 extends infer T_14 extends import("typesafe-i18n").BaseTranslation ? { [P_7 in keyof T_14]?: T_13[P_7] extends infer T_15 ? T_15 extends T_13[P_7] ? T_15 extends string ? string : T_15 extends import("typesafe-i18n").BaseTranslation ? T_15 extends infer T_16 extends import("typesafe-i18n").BaseTranslation ? { [P_8 in keyof T_16]?: T_15[P_8] extends infer T_17 ? T_17 extends T_15[P_8] ? T_17 extends string ? string : T_17 extends import("typesafe-i18n").BaseTranslation ? T_17 extends infer T_18 extends import("typesafe-i18n").BaseTranslation ? { [P_9 in keyof T_18]?: T_17[P_9] extends infer T_19 ? T_19 extends T_17[P_9] ? T_19 extends string ? string : T_19 extends import("typesafe-i18n").BaseTranslation ? T_19 extends infer T_20 extends import("typesafe-i18n").BaseTranslation ? { [P_10 in keyof T_20]?: any; } : never : T_19 : never : never; } : never : T_17 : never : never; } : never : T_15 : never : never; } : never : T_13 : never : never; } : never : T_11 : never : never; } : never : T_9 : never : never; } : never : T_7 : never : never; } : never : T_5 : never : never; } : never : T_3 : never : never; } : never : T_1 : never : never; } : never : Translation) extends infer T_21 ? T_21 extends (Translation extends string ? string : Translation extends import("typesafe-i18n").BaseTranslation ? Translation extends infer T extends import("typesafe-i18n").BaseTranslation ? { [P in keyof T]?: Translation[P] extends infer T_1 ? T_1 extends Translation[P] ? T_1 extends string ? string : T_1 extends import("typesafe-i18n").BaseTranslation ? T_1 extends infer T_2 extends import("typesafe-i18n").BaseTranslation ? { [P_1 in keyof T_2]?: T_1[P_1] extends infer T_3 ? T_3 extends T_1[P_1] ? T_3 extends string ? string : T_3 extends import("typesafe-i18n").BaseTranslation ? T_3 extends infer T_4 extends import("typesafe-i18n").BaseTranslation ? { [P_2 in keyof T_4]?: T_3[P_2] extends infer T_5 ? T_5 extends T_3[P_2] ? T_5 extends string ? string : T_5 extends import("typesafe-i18n").BaseTranslation ? T_5 extends infer T_6 extends import("typesafe-i18n").BaseTranslation ? { [P_3 in keyof T_6]?: T_5[P_3] extends infer T_7 ? T_7 extends T_5[P_3] ? T_7 extends string ? string : T_7 extends import("typesafe-i18n").BaseTranslation ? T_7 extends infer T_8 extends import("typesafe-i18n").BaseTranslation ? { [P_4 in keyof T_8]?: T_7[P_4] extends infer T_9 ? T_9 extends T_7[P_4] ? T_9 extends string ? string : T_9 extends import("typesafe-i18n").BaseTranslation ? T_9 extends infer T_10 extends import("typesafe-i18n").BaseTranslation ? { [P_5 in keyof T_10]?: T_9[P_5] extends infer T_11 ? T_11 extends T_9[P_5] ? T_11 extends string ? string : T_11 extends import("typesafe-i18n").BaseTranslation ? T_11 extends infer T_12 extends import("typesafe-i18n").BaseTranslation ? { [P_6 in keyof T_12]?: T_11[P_6] extends infer T_13 ? T_13 extends T_11[P_6] ? T_13 extends string ? string : T_13 extends import("typesafe-i18n").BaseTranslation ? T_13 extends infer T_14 extends import("typesafe-i18n").BaseTranslation ? { [P_7 in keyof T_14]?: T_13[P_7] extends infer T_15 ? T_15 extends T_13[P_7] ? T_15 extends string ? string : T_15 extends import("typesafe-i18n").BaseTranslation ? T_15 extends infer T_16 extends import("typesafe-i18n").BaseTranslation ? { [P_8 in keyof T_16]?: T_15[P_8] extends infer T_17 ? T_17 extends T_15[P_8] ? T_17 extends string ? string : T_17 extends import("typesafe-i18n").BaseTranslation ? T_17 extends infer T_18 extends import("typesafe-i18n").BaseTranslation ? { [P_9 in keyof T_18]?: T_17[P_9] extends infer T_19 ? T_19 extends T_17[P_9] ? T_19 extends string ? string : T_19 extends import("typesafe-i18n").BaseTranslation ? T_19 extends infer T_20 extends import("typesafe-i18n").BaseTranslation ? { [P_10 in keyof T_20]?: any; } : never : T_19 : never : never; } : never : T_17 : never : never; } : never : T_15 : never : never; } : never : T_13 : never : never; } : never : T_11 : never : never; } : never : T_9 : never : never; } : never : T_7 : never : never; } : never : T_5 : never : never; } : never : T_3 : never : never; } : never : T_1 : never : never; } : never : Translation) ? T_21 extends import("typesafe-i18n").BaseTranslation ? T_21 extends infer T_22 extends import("typesafe-i18n").BaseTranslation ? { [P_11 in keyof T_22]?: T_21[P_11] extends infer T_23 ? T_23 extends T_21[P_11] ? T_23 extends import("typesafe-i18n").BaseTranslation ? T_23 extends infer T_24 extends import("typesafe-i18n").BaseTranslation ? { [P_12 in keyof T_24]?: T_23[P_12] extends infer T_25 ? T_25 extends T_23[P_12] ? T_25 extends import("typesafe-i18n").BaseTranslation ? T_25 extends infer T_26 extends import("typesafe-i18n").BaseTranslation ? { [P_13 in keyof T_26]?: T_25[P_13] extends infer T_27 ? T_27 extends T_25[P_13] ? T_27 extends import("typesafe-i18n").BaseTranslation ? T_27 extends infer T_28 extends import("typesafe-i18n").BaseTranslation ? { [P_14 in keyof T_28]?: T_27[P_14] extends infer T_29 ? T_29 extends T_27[P_14] ? T_29 extends import("typesafe-i18n").BaseTranslation ? T_29 extends infer T_30 extends import("typesafe-i18n").BaseTranslation ? { [P_15 in keyof T_30]?: T_29[P_15] extends infer T_31 ? T_31 extends T_29[P_15] ? T_31 extends import("typesafe-i18n").BaseTranslation ? T_31 extends infer T_32 extends import("typesafe-i18n").BaseTranslation ? { [P_16 in keyof T_32]?: T_31[P_16] extends infer T_33 ? T_33 extends T_31[P_16] ? T_33 extends import("typesafe-i18n").BaseTranslation ? T_33 extends infer T_34 extends import("typesafe-i18n").BaseTranslation ? { [P_17 in keyof T_34]?: T_33[P_17] extends infer T_35 ? T_35 extends T_33[P_17] ? T_35 extends import("typesafe-i18n").BaseTranslation ? T_35 extends infer T_36 extends import("typesafe-i18n").BaseTranslation ? { [P_18 in keyof T_36]?: T_35[P_18] extends infer T_37 ? T_37 extends T_35[P_18] ? T_37 extends import("typesafe-i18n").BaseTranslation ? T_37 extends infer T_38 extends import("typesafe-i18n").BaseTranslation ? { [P_19 in keyof T_38]?: T_37[P_19] extends infer T_39 ? T_39 extends T_37[P_19] ? T_39 extends import("typesafe-i18n").BaseTranslation ? T_39 extends infer T_40 extends import("typesafe-i18n").BaseTranslation ? { [P_20 in keyof T_40]?: T_39[P_20] extends infer T_41 ? T_41 extends T_39[P_20] ? T_41 extends import("typesafe-i18n").BaseTranslation ? T_41 extends infer T_42 extends import("typesafe-i18n").BaseTranslation ? { [P_21 in keyof T_42]?: any; } : never : T_41 : never : never; } : never : T_39 : never : never; } : never : T_37 : never : never; } : never : T_35 : never : never; } : never : T_33 : never : never; } : never : T_31 : never : never; } : never : T_29 : never : never; } : never : T_27 : never : never; } : never : T_25 : never : never; } : never : T_23 : never : never; } : never : T_21 : never : never) => Translation; export declare const i18nString: (locale: Locales) => TranslateByString; export declare const i18nObject: (locale: Locales) => TranslationFunctions; export declare const i18n: () => LocaleTranslationFunctions; export declare const detectLocale: (...detectors: LocaleDetector[]) => Locales;