export declare type BuiltInLocale = typeof LOCALE_ZH_HANS | typeof LOCALE_ZH_HANT | typeof LOCALE_EN | typeof LOCALE_FR | typeof LOCALE_ES; export declare function compileI18nJsonStr(jsonStr: string, { locale, locales, delimiters, }: { locale: string; locales: Record>; delimiters: [string, string]; }): string; export declare class Formatter { _caches: { [key: string]: Array; }; constructor(); interpolate(message: string, values?: Record | Array, delimiters?: [string, string]): Array; } declare interface Formatter_2 { interpolate: (message: string, values?: Record | Array, delimiters?: [string, string]) => Array; } export declare function hasI18nJson(jsonObj: unknown, delimiters: [string, string]): boolean; export declare class I18n { private locale; private fallbackLocale; private message; private messages; private watchers; private formater; constructor({ locale, fallbackLocale, messages, watcher, formater, }: I18nOptions); setLocale(locale: string): void; getLocale(): string; watchLocale(fn: LocaleWatcher): () => void; add(locale: BuiltInLocale, message: Record, override?: boolean): void; f(message: string, values?: Record | Array, delimiters?: [string, string]): string; t(key: string, values?: Record | Array | BuiltInLocale): string; t(key: string, locale?: BuiltInLocale, values?: Record | Array): string; } export declare interface I18nOptions { locale: string; fallbackLocale?: string; messages?: LocaleMessages; formater?: Formatter_2; watcher?: LocaleWatcher; } export declare function initVueI18n(locale?: string, messages?: LocaleMessages, fallbackLocale?: string, watcher?: (locale: string) => void): { i18n: I18n; f(message: string, values?: Record | Array, delimiters?: [string, string]): string; t(key: string, values?: Record | Array): string; add(locale: BuiltInLocale, message: Record, override?: boolean): void; watch(fn: LocaleWatcher): () => void; getLocale(): string; setLocale(newLocale: string): void; }; export declare function isI18nStr(value: string, delimiters: [string, string]): boolean; export declare const isString: (val: unknown) => val is string; declare type Locale = string; export declare const LOCALE_EN = "en"; export declare const LOCALE_ES = "es"; export declare const LOCALE_FR = "fr"; export declare const LOCALE_ZH_HANS = "zh-Hans"; export declare const LOCALE_ZH_HANT = "zh-Hant"; export declare type LocaleMessages = Record>; export declare type LocaleWatcher = (newLocale: string, oldLocale: string) => void; export declare function normalizeLocale(locale: string, messages?: LocaleMessages): BuiltInLocale | undefined; export declare function parseI18nJson(jsonObj: unknown, values: Record, delimiters: [string, string]): unknown; export declare function resolveLocale(locales: Locale[]): (locale: Locale) => string | undefined; declare type Token = { type: 'text' | 'named' | 'list' | 'unknown'; value: string; }; export { }