import { OnDestroy } from '@angular/core'; import { Logger } from './logger.service'; import { TranslocoService, HashMap } from '@ngneat/transloco'; import { Observable } from 'rxjs'; import { CookieStorageService } from './cookie-storage.service'; import * as i0 from "@angular/core"; export interface LanguageParseResultFromUrl { found: boolean; language?: string; urlWithoutLanguageSegment?: string; } export declare const defaultSpaLangToLocalesMapping: HashMap; export declare const defaultSpaLocale = "en-US"; export declare class SpaLanguageService implements OnDestroy { private logger; private translocoService; private cookieStorage; private languageToLocalesMapping; private $toUnsubscribe; private readonly languageFromUrlRegex; private temporaryLanguageFromNavigation; lastLanguageParsedOrGuessed: string; private currentLocaleSubject; currentLocale: Observable; get currentLocaleSnapshot(): string; constructor(logger: Logger, translocoService: TranslocoService, cookieStorage: CookieStorageService, languageToLocalesMapping: HashMap); init(): Promise>; setTemporarilyLanguageFromNavigation(language: string, navigationId: number): void; commitLanguageFromNavigation(language: string, navigationId: number): void; rollbackLanguageFromNavigation(navigationId: number): void; setActiveLanguageIfDifferent(lang: string): void; getLanguagePreferenceFromCookie(): string; setLanguagePreferenceInCookie(lang: string): void; getApplicationAvailableLangs(): string[]; isLanguageAvailable(lang: string): boolean; parseLanguageFromUrl(url: string): LanguageParseResultFromUrl; generateUrlWithLangSegment(originalUrl: string, lang: string): string; replaceOrInsertLangInUrl(originalUrl: string, lang: string): string; guessLanguage(ignoreLastLanguageGuessedOrParsed?: boolean): string; getLocaleBasedOnLanguage(lang: string): string; setLocale(locale: string): void; getLocale(): string; setLocaleAndStoreInCookie(locale: string): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }