import { Injector, OnDestroy, Type } from '@angular/core';
import { ActivatedRouteSnapshot, Router } from '@angular/router';
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
import { PpBreadcrumbsResolver } from './breadcrumbs.resolver';
import { Breadcrumb } from './breadcrumb';
export declare class PpBreadcrumbsService implements OnDestroy {
    protected router: Router;
    protected injector: Injector;
    postProcess: (crumbs: Breadcrumb[]) => Promise<Breadcrumb[]> | Observable<Breadcrumb[]> | Breadcrumb[];
    protected breadcrumbs: BehaviorSubject<Breadcrumb[]>;
    protected defaultResolver: PpBreadcrumbsResolver;
    protected subscription?: Subscription;
    get crumbs$(): Observable<Breadcrumb[]>;
    constructor(router: Router, injector: Injector);
    ngOnDestroy(): void;
    protected onNavigationEnd(): Observable<Breadcrumb[]>;
    protected resolveCrumbs(route: ActivatedRouteSnapshot): Observable<Breadcrumb[]>;
    protected getBreadcrumbResolver(breadcrumbs: string | Type<PpBreadcrumbsResolver>): PpBreadcrumbsResolver;
    protected wrapIntoObservable<T>(value: T | Promise<T> | Observable<T>): Observable<T>;
}
