import { EventEmitter } from '@angular/core'; import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { TranslateService } from '@ngx-translate/core'; import { Observable, ReplaySubject } from 'rxjs'; import { Router } from '@angular/router'; import { BaseSiteService, BaseSiteWsDTO, ConfigService, CurrencyWsDTO, LanguageWsDTO, MiscService } from '@ngx-y/yapi'; import { BrowserRef } from './browser-ref'; import * as i0 from "@angular/core"; export declare class LocaleService { private browserRef; private router; private configService; private translateService; private baseSiteService; private miscService; private _language; private _currency; private _site; locale$: EventEmitter<{ language: string | undefined; currency: string | undefined; }>; isValid$: ReplaySubject; languages$: ReplaySubject; currencies$: ReplaySubject; constructor(browserRef: BrowserRef, router: Router, configService: ConfigService, translateService: TranslateService, baseSiteService: BaseSiteService, miscService: MiscService); init(): void; /** * Get current site * @returns {BaseSiteWsDTO} */ get site(): BaseSiteWsDTO | undefined; /** * Get applied currency * @returns {string} */ get currency(): string | undefined; /** * Set currency based on a currency iso * @param {string} currency */ set currency(currency: string | undefined); /** * Get applied language */ get language(): string | undefined; /** * Set language based on a language iso * @param language */ set language(language: string | undefined); private emit; private get localePath(); private updateUrl; /** * Find the base site based on the location url * @param {BaseSiteWsDTO[]} baseSites * @returns {BaseSiteWsDTO} */ private findBaseSite; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare class LocaleInterceptor implements HttpInterceptor { private localeService; constructor(localeService: LocaleService); /** * Apply currency and language to the requests * @param {HttpRequest} req * @param {HttpHandler} next */ intercept(req: HttpRequest, next: HttpHandler): Observable>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare const LocaleInterceptorService: { provide: import("@angular/core").InjectionToken; multi: boolean; useExisting: typeof LocaleInterceptor; };