import { Observable } from 'rxjs'; import { L10nLocale, L10nProvider } from '../models/types'; import { L10nConfig } from '../models/l10n-config'; import { L10nCache } from './l10n-cache'; import { L10nStorage } from './l10n-storage'; import { L10nLocaleResolver } from './l10n-locale-resolver'; import { L10nTranslationFallback } from './l10n-translation-fallback'; import { L10nTranslationLoader } from './l10n-translation-loader'; import { L10nTranslationHandler } from './l10n-translation-handler'; import { L10nMissingTranslationHandler } from './l10n-missing-translation-handler'; import * as i0 from "@angular/core"; export declare class L10nTranslationService { private config; private locale; private cache; private storage; private resolveLocale; private translationFallback; private translationLoader; private translationHandler; private missingTranslationHandler; /** * The translation data: {language: {key: value}} */ data: { [key: string]: any; }; private translation; private error; constructor(config: L10nConfig, locale: L10nLocale, cache: L10nCache, storage: L10nStorage, resolveLocale: L10nLocaleResolver, translationFallback: L10nTranslationFallback, translationLoader: L10nTranslationLoader, translationHandler: L10nTranslationHandler, missingTranslationHandler: L10nMissingTranslationHandler); /** * Gets the current locale. */ getLocale(): L10nLocale; /** * Changes the current locale and load the translation data. * @param locale The new locale */ setLocale(locale: L10nLocale): Promise; /** * Fired every time the translation data has been loaded. Returns the locale. */ onChange(): Observable; /** * Fired when the translation data could not been loaded. Returns the error. */ onError(): Observable; /** * Translates a key or an array of keys. * @param keys The key or an array of keys to be translated * @param params Optional parameters contained in the key * @param language The current language * @return The translated value or an object: {key: value} */ translate(keys: string | string[], params?: any, language?: string): string | any; /** * Checks if a translation exists. * @param key The key to be tested * @param language The current language */ has(key: string, language?: string): boolean; /** * Gets the language direction. */ getLanguageDirection(language?: string): 'ltr' | 'rtl' | undefined; /** * Gets available languages. */ getAvailableLanguages(): string[]; /** * Initializes the service * @param providers An array of L10nProvider */ init(providers?: L10nProvider[]): Promise; /** * Can be called at every translation change. * @param providers An array of L10nProvider * @param locale The current locale */ loadTranslations(providers?: L10nProvider[], locale?: L10nLocale): Promise; /** * Can be called to add translation data. * @param data The translation data {key: value} * @param language The language to add data */ addData(data: { [key: string]: any; }, language: string): void; /** * Adds providers to configuration * @param providers The providers of the translations data */ addProviders(providers: L10nProvider[]): void; private getTranslation; private handleError; private releaseTranslation; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }