import * as _ng_atomic_core from '@ng-atomic/core'; import { Action } from '@ng-atomic/core'; import * as rxjs from 'rxjs'; import * as _ng_atomic_common_services_breakpoint from '@ng-atomic/common/services/breakpoint'; import { Breakpoint, BreakpointService } from '@ng-atomic/common/services/breakpoint'; import * as _angular_core from '@angular/core'; import { Signal, InjectionToken, Injector, Provider, Type, ProviderToken } from '@angular/core'; import * as _angular_router from '@angular/router'; import { ActivatedRoute } from '@angular/router'; import { RouterService } from '@ng-atomic/common/services/router'; interface UIContext { breakpoint: Breakpoint; paths: any[]; } declare class UiService { readonly breakpoint: BreakpointService; readonly router: RouterService; readonly platformId: Object; readonly paths$: rxjs.Observable<_angular_router.UrlSegment[]>; readonly paths: _angular_core.Signal<_angular_router.UrlSegment[] | undefined>; readonly snapshot$: rxjs.Observable<_angular_router.ActivatedRouteSnapshot>; readonly snapshot: _angular_core.Signal<_angular_router.ActivatedRouteSnapshot | undefined>; readonly uiContext: _angular_core.Signal<{ breakpoint: Breakpoint; paths: _angular_router.UrlSegment[] | undefined; }>; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare function scoped(source: Signal, path: TKey | [TKey]): Signal; declare function injectBreakpoint(): Signal<_ng_atomic_common_services_breakpoint.Breakpoint>; declare function injectIsMobile(): Signal; declare enum NavActionId { TOGGLE_SIDE_NAV = "[@ng-atomic/common/services/ui] TOGGLE_SIDE_NAV", BACK = "[@ng-atomic/common/services/ui] BACK", CLOSE = "[@ng-atomic/common/services/ui] CLOSE" } declare function isRootPageRoute(route: ActivatedRoute, outlet?: string): boolean; declare function injectIsRootPage$(outlet?: string): rxjs.Observable; declare function injectIsRootPage(outlet?: string): Signal; declare function injectNavStartActions(isRootPage?: Signal): Signal; declare function injectNavStartActionsV2(): Signal[]>; declare function injectSideAppNavStartActions(outlet?: string): Signal; declare function injectUiContext(): Signal; type UiConfigReducer = (config: T, context: C) => T; declare const UI_CONFIG_REDUCER: InjectionToken>; type ReducerFactory = (injector: Injector, hostInjector: Injector) => (config: T, context: UIContext) => T; type DefaultReducerFactory = (injector: Injector, hostInjector: Injector) => (context: UIContext) => T; declare const wrap: (defaultReducerFactory: DefaultReducerFactory) => ReducerFactory; declare function call(signalOrValue: Signal | T): T; declare function provideUiConfig(reducerFactory: ReducerFactory, path?: string[], name?: string, token?: InjectionToken>): Provider; declare function injectRootConfig(paths?: string[], token?: InjectionToken>): Signal; declare function injectUiConfig(paths?: string[], token?: InjectionToken>): Signal; declare function makeConfig(defaultUseFactory: DefaultReducerFactory, path: string[]): { provide(useFactory?: ReducerFactory, label?: string): Provider; inject(): Signal; }; declare function makeDI(type: Type, defaultUseFactory: DefaultReducerFactory, path: string[]): { provide: (typeOrComponent: Parameters<(typeOrFactory: _ng_atomic_core.TypeOrTypeFactory) => { provide: any; useValue: () => Promise>; }>[0]) => (Provider | { provide: any; useValue: () => Promise>; })[]; provideConfig: (useFactory?: ReducerFactory | undefined, label?: string) => Provider; injectConfig: () => Signal; provideInitializer: Promise | void>(initializer: SI) => { provide: InjectionToken<(store: any) => Promise | void>; useValue: { key: new () => K; initializer: (store: K) => Promise | void; }; multi: boolean; }[]; initialize: (store: K) => Promise; provideComponent: (typeOrFactory: _ng_atomic_core.TypeOrTypeFactory) => { provide: any; useValue: () => Promise>; }; Initializer: { provide Promise | void>(initializer: SI): { provide: InjectionToken<(store: any) => Promise | void>; useValue: { key: new () => K; initializer: (store: K) => Promise | void; }; multi: boolean; }[]; inject(): ((store: K) => Promise | void)[]; initializeStore(store: K): Promise; }; Config: { provide(useFactory?: ReducerFactory | undefined, label?: string): Provider; inject(): Signal; }; }; declare function injectDeepMulti(token: ProviderToken, injector?: Injector): T[]; declare function debugInjector(injector?: Injector | null): void; export { NavActionId, UI_CONFIG_REDUCER, UiService, call, debugInjector, injectBreakpoint, injectDeepMulti, injectIsMobile, injectIsRootPage, injectIsRootPage$, injectNavStartActions, injectNavStartActionsV2, injectRootConfig, injectSideAppNavStartActions, injectUiConfig, injectUiContext, isRootPageRoute, makeConfig, makeDI, provideUiConfig, scoped, wrap }; export type { DefaultReducerFactory, ReducerFactory, UIContext, UiConfigReducer };