import { Logger, OnModuleDestroy } from '@nestjs/common'; import { I18nOptions } from '..'; import { I18nTranslation } from '../interfaces/i18n-translation.interface'; import { Observable, BehaviorSubject } from 'rxjs'; import { I18nLoader } from '../loaders/i18n.loader'; export declare type TranslateOptions = { lang?: string; args?: ({ [k: string]: any; } | string)[] | { [k: string]: any; }; defaultValue?: string; debug?: boolean; }; export declare class I18nService implements OnModuleDestroy { private readonly i18nOptions; private readonly logger; private readonly loader; private readonly languagesSubject; private readonly translationsSubject; private supportedLanguages; private translations; private unsubscribe; constructor(i18nOptions: I18nOptions, translations: Observable, supportedLanguages: Observable, logger: Logger, loader: I18nLoader, languagesSubject: BehaviorSubject, translationsSubject: BehaviorSubject); onModuleDestroy(): void; translate(key: string, options?: TranslateOptions): T; t(key: string, options?: TranslateOptions): T; getSupportedLanguages(): string[]; getTranslations(): I18nTranslation; refresh(translations?: I18nTranslation | Observable, languages?: string[] | Observable): Promise; hbsHelper: (key: string, args: any, options: any) => any; private translateObject; private handleFallbacks; private getPluralObject; private getNestedTranslations; }