import { type IEventEmitter } from '@breadstone/mosaik-elements'; interface ITranslation { [key: string]: string | ITranslation; } export declare namespace Translator { const DEFAULT_LANGUAGE: string; const DEFAULT_LANGUAGE_RESOLVER: () => string; } /** * A translator is used to translate keys into strings. * * @public */ export declare class TranslatorService { private readonly _languageChanged; private _translations; private _currentLanguage; constructor(defaultLangOrFn?: string | (() => string)); /** * Gets or sets the `currentLanguage` property. * * @public */ get currentLanguage(): string; set currentLanguage(value: string); /** * Returns the `languageChanged` property. * * @public * @readonly */ get languageChanged(): IEventEmitter; /** * Adds the given translations for the given language. * * @public */ addTranslations(lang: string, translations: ITranslation): void; /** * Translates the given key. * * @public */ translate(key: string, ...args: Array): string; /** * Gets the translation for the given key. * The splitter is used to split the key into parts. Aktually the noting is used as splitter. * * @private */ private getTranslation; /** * Formats the given string with the given arguments. * * @private */ private format; } /** * @public */ export declare class TranslatorServiceLocator { private static _current; static get current(): TranslatorService; static isSet(): boolean; static set(current: TranslatorService): void; } export {}; //# sourceMappingURL=TranslatorService.d.ts.map