import { Provider } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { EasyI18nMessages } from 'easy-i18n-js'; import { EasyI18nLoader } from '@ngx-easy-i18n-js/core'; import { CanActivateFn } from '@angular/router'; interface IHttpEasyI18nLoaderOptions { /** * Url prefix, default '/assets/i18n/' or Array of prefix */ prefix?: string | string[]; /** * Url suffix, default '.json' */ suffix?: string; } declare class HttpEasyI18nLoader extends EasyI18nLoader { private httpClient; private options; constructor(httpClient: HttpClient, options?: IHttpEasyI18nLoaderOptions); /** * Return messages with locale with HttpClient `${this.options.prefix ?? ''}${locale}${this.options.suffix ?? ''}` * @param locale */ getMessages(locale: string): Observable; } interface IScopedHttpEasyI18nLoaderScope { /** * Url prefix, Array of prefix */ prefix: string | string[]; /** * Alias */ scope?: string; } interface IScopedHttpEasyI18nLoaderOptions { /** * Url suffix, default '.json' */ suffix?: string; } declare class ScopedHttpEasyI18nLoader extends EasyI18nLoader { readonly httpClient: HttpClient; readonly scopes: IScopedHttpEasyI18nLoaderScope[]; readonly options?: IScopedHttpEasyI18nLoaderOptions | undefined; private readonly list; constructor(httpClient: HttpClient, scopes: IScopedHttpEasyI18nLoaderScope[], options?: IScopedHttpEasyI18nLoaderOptions | undefined); getMessages(locale: string): Observable; } declare function appendScopedHttpEasyI18nLoader(scopes: IScopedHttpEasyI18nLoaderScope[], options?: IScopedHttpEasyI18nLoaderOptions): CanActivateFn; declare function provideEasyI18nLoader(options?: IHttpEasyI18nLoaderOptions): Provider[]; declare function provideEasyI18nScopedLoader(scopes: IScopedHttpEasyI18nLoaderScope[], options?: IHttpEasyI18nLoaderOptions): Provider[]; export { HttpEasyI18nLoader, ScopedHttpEasyI18nLoader, appendScopedHttpEasyI18nLoader, provideEasyI18nLoader, provideEasyI18nScopedLoader }; export type { IHttpEasyI18nLoaderOptions, IScopedHttpEasyI18nLoaderOptions, IScopedHttpEasyI18nLoaderScope };