import { InjectionToken } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { Platform } from '@angular/cdk/platform'; import { TranslateService } from '@ngx-translate/core'; import { PrimeNG } from 'primeng/config'; import * as i0 from "@angular/core"; export interface LangData { abbr: string; text: string; langKey: string; } export declare const LANGS: { [key: string]: LangData; }; export declare const I18N_Token: { new (_desc: string, options?: { providedIn?: import("@angular/core").Type | "root" | "platform" | "any" | null | undefined; factory: () => I18NServiceInterface; } | undefined): InjectionToken; }; export interface I18NServiceInterface { [key: string]: any; /** * Call `use` to trigger change notification * * 调用 `use` 触发变更通知 */ readonly change: Observable; /** * Get the default language * * 获取默认语言 */ readonly defaultLang: string; /** * Get current language * * 获取当前语言 */ readonly currentLang: string; /** * Change language * * 变更语言 * @param lang 语言代码 * @param emit 是否触发 `change`,默认:true */ use(lang: string, emit?: boolean): void; /** * Return to the current language list * * 返回当前语言列表 */ getLangs(): any[]; /** * 翻译 * - `params` 模板所需要的参数对象 * - `isSafe` 是否返回安全字符,自动调用 `bypassSecurityTrustHtml` */ fanyi(key: string, params?: { [key: string]: any; }, isSafe?: boolean): string; } export declare class I18nService { translate: TranslateService; platform: Platform; config: PrimeNG; default: string; change$: BehaviorSubject; _langs: { code: string; text: string; abbr: string; }[]; constructor(translate: TranslateService, platform: Platform, config: PrimeNG); getDefaultLang(): string; use(lang: string): void; get change(): Observable; /** 获取语言列表 */ getLangs(): Array<{ code: string; text: string; abbr: string; }>; /** 翻译 */ fanyi(key: string, interpolateParams?: {}): any; /** 默认语言 */ get defaultLang(): string; /** 当前语言 */ get currentLang(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }