import { Injector } from '@angular/core'; import { Observable } from 'rxjs'; import { StateContract } from '../../../state'; import { RouterService } from '../interfaces/router-service'; import { UrlParserService } from './url-parser.service'; import { RouteContext } from './context/route-context'; declare type WithContextType = (context: RouteContext) => any; declare type NopeContextType = () => any; export declare type ObserveRouteMethodType = NopeContextType | WithContextType; export declare type QueryParams = { [key: string]: string; }; export interface RouteObserverWatcher { url: string; callback: ObserveRouteMethodType; base: StateContract; queryParams: QueryParams; } export declare type RouteParameters = { [key: string]: string; }; export declare class ObserveRouteService { private router; private urlService; private injector; constructor(router: RouterService, urlService: UrlParserService, injector: Injector); watch({ url, callback, queryParams, base }: RouteObserverWatcher): Observable; } export {};