import { Observable } from 'rxjs'; import { Loggable } from '../../Loggable'; import * as i0 from "@angular/core"; export interface TranslationMap { [sourceKey: string]: TargetType; } export interface Translations { [labelKey: string]: string; } export declare class TranslationService extends Loggable { name: string; private translationSubject; constructor(); /** * Returns a helper function that will loop through translationMap and take new translations * and copy the values to targetObject. In the example, the translations at label_Apply * will be copied to this['applyLabel'] (essentially this.applyLabel = translations.label_Apply) * @example * translationService.getTranslations().subscribe( * TranslationService.translate(this, { 'label_Apply': 'applyLabel' }) * ) */ static translate(targetObject: T, translationMap: TranslationMap): (newTranslations: Translations) => void; /** * Get the Translations observable. */ getTranslations(): Observable; /** * Set the current translation dictionary. Causes all subscriptions to update. */ setTranslations(translations: Translations): this; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }