import { EventEmitter } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { ApiService } from '../../api/services/api.service'; import { Language } from '../models/language.model'; import { HeaderService } from '../../api/services/header.service'; export declare class LanguageService { private readonly translateService; private readonly apiService; private readonly headerService; /** * This event fires, when the current language is changed. * * @type {EventEmitter} * @memberof LanguageService */ onLangChanged: EventEmitter; /** * This event fires, when the list of the available languages changed. * * @type {EventEmitter} * @memberof LanguageService */ onLanguagesListChanged: EventEmitter; constructor(translateService: TranslateService, apiService: ApiService, headerService: HeaderService); /** * Factory of the service. * * @private * @memberof LanguageService */ private readonly factory; /** * Default/Offline language. * * @private * @type {string} * @memberof LanguageService */ private readonly storedDefaultLocale; /** * Default language code. * * @private * @type {string[]} * @memberof LanguageService */ private readonly storedDefaultAvailableLanguages; /** * Default language code. * * @private * @type {string} * @memberof LanguageService */ private storedDefaultLang; /** * Current language code. * * @private * @type {string} * @memberof LanguageService */ private storedCurrentLang; /** * Name of the cookie. * * @private * @memberof LanguageService */ private readonly languageCookieName; /** * List of the available languages. (Object array) * * @private * @type {Language[]} * @memberof LanguageService */ private storedAvailableLanguages; /** * Gets the current Core language. * * @readonly * @type {string} * @memberof LanguageService */ readonly currentLang: string; /** * Gets the default Core languge code. * * @readonly * @type {string} * @memberof LanguageService */ readonly defaultLang: string; /** * Gets the current available languages. * * @readonly * @type {Language[]} * @memberof LanguageService */ readonly availableLanguages: Language[]; /** * Gets the current available language codes. * * @readonly * @memberof LanguageService */ readonly availableKeys: string[]; /** * Initialize the service. * * @memberof LanguageService */ initialize(): void; /** * Initialize the service with the json. * * @memberof LanguageService */ initializeOffline(lang: string): void; /** * Sets the default language. * * @param {string} lang * @memberof LanguageService */ setDefaultLang(lang: string): void; /** * Sets the language. * * @param {string} lang * @param {boolean} [doStore=false] True, if you want to store the language in the cookie. * @memberof LanguageService */ setLanguage(lang: string, doStore?: boolean): void; /** * Error handler. * * @private * @param {*} err * @memberof LanguageService */ private handleErrors; /** * Api response handler. * * @private * @param {LanguageResponse[]} res * @memberof LanguageService */ private handleLanguagesResponse; /** * Gets the languages from the Backend. * * @private * @returns {Observable} * @memberof LanguageService */ private getLanguages; private setDefaults; /** * Gets the language from the cookie. * * @private * @returns * @memberof LanguageService */ private getLanguageFromCookie; /** * Sets the cookie for the language. * * @private * @param {string} value * @memberof LanguageService */ private setLanguageToCookie; }