import * as i0 from '@angular/core'; import { InjectionToken, Provider } from '@angular/core'; import * as rxjs from 'rxjs'; import { Observable, ObservableInput } from 'rxjs'; import * as i1 from '@angular/router'; import { Router, TitleStrategy, RouterStateSnapshot } from '@angular/router'; import { Title } from '@angular/platform-browser'; declare const LU_TITLE_TRANSLATE_SERVICE: InjectionToken; interface ILuTitleTranslateService { translate(key: string, args?: Record): string | Observable; } type PageTitle = { title: string; params?: { [param: string]: string; }; }; declare const TitleSeparator = " \u2013 "; /** * @deprecated use title streatgy instead */ declare class LuTitleModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * @deprecated use Title strategy instead */ declare class LuTitleService { private router; private title; private translateService; private titlePartsSubject; titleParts$: rxjs.Observable<(string | ObservableInput)[]>; title$: rxjs.Observable; constructor(router: Router, title: Title, translateService: ILuTitleTranslateService); init(applicationNameTranslationKey: string): void; prependTitle(title: string | ObservableInput): void; overrideFirstTitlePart(title: string | ObservableInput): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare const ɵAPP_TITLE: InjectionToken>; type LuTitleNamingStrategy = 'product' | 'other'; declare const ɵNAMING_STRATEGY: InjectionToken; /** * @deprecated Use `provideLuTitleStrategy` instead. */ declare const APP_TITLE: InjectionToken>; declare class LuTitleStrategy extends TitleStrategy { #private; private title; private translateService; private appTitle; private namingStrategy; private luccaTitle$; private titlePartsSubject; titleParts$: Observable<(string | ObservableInput)[]>; title$: Observable; constructor(); updateTitle(routerState: RouterStateSnapshot): void; prependTitle(title: string | ObservableInput): void; overrideFirstTitlePart(title: string | ObservableInput): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } interface LuTitleStrategyOptions { appTitle?: () => string | Observable; translateService?: () => ILuTitleTranslateService; namingStrategy?: LuTitleNamingStrategy; } declare function provideLuTitleStrategy(options: LuTitleStrategyOptions): Provider[]; export { APP_TITLE, LU_TITLE_TRANSLATE_SERVICE, LuTitleModule, LuTitleService, LuTitleStrategy, TitleSeparator, provideLuTitleStrategy, ɵAPP_TITLE, ɵNAMING_STRATEGY }; export type { ILuTitleTranslateService, LuTitleNamingStrategy, LuTitleStrategyOptions, PageTitle };