import { InjectionKey } from 'vue'; import { I18nMessageParams, I18nMessages, LocaleCode, LocalizedText } from '@signage-editor/core'; export interface SignageI18nExternalService { locale?: LocaleCode; t: (key: string, params?: I18nMessageParams, fallback?: string) => string; } export interface SignageI18nService { readonly locale: LocaleCode; t: (key: string, params?: I18nMessageParams, fallback?: string) => string; resolveText: (text: LocalizedText | undefined, fallback?: string) => string; setLocale: (locale: LocaleCode) => void; setMessages: (messages: Record) => void; } export interface CreateSignageI18nOptions { locale?: LocaleCode; fallbackLocale?: LocaleCode; messages?: Record; } export declare const DEFAULT_SIGNAGE_LOCALE = "zh-CN"; export declare const DEFAULT_SIGNAGE_FALLBACK_LOCALE = "zh-CN"; export declare const SignageI18nServiceKey: InjectionKey; export declare const vueI18nMessages: { 'zh-CN': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'en-US': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'id-ID': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'vi-VN': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'ja-JP': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'ko-KR': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'bn-BD': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'ru-RU': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'th-TH': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'ms-MY': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'ar-SA': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'fr-FR': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'es-ES': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; 'hi-IN': { [x: string]: import('@signage-editor/core').I18nMessageValue; }; }; export declare function createSignageI18n(options?: CreateSignageI18nOptions): SignageI18nService; export declare function provideSignageI18n(service: SignageI18nService): SignageI18nService; export declare function signageT(key: string, params?: I18nMessageParams, fallback?: string): string; export declare function useSignageI18n(): SignageI18nService;