import { ActivatedRoute, Router } from '@angular/router';
import { Observable } from 'rxjs';
import { IBreadcrumb, IReplaceBreadcrumb } from './ngx-breadcrumb.types';
import * as i0 from "@angular/core";
export declare class NgxBreadcrumbService {
    private readonly router;
    private readonly activatedRoute;
    /**
     * Emit change when the breadcrumbs are changed.
     */
    readonly breadcrumbChanges: Observable<IBreadcrumb[]>;
    private breadcrumbs;
    private readonly _breadcrumbChanges;
    constructor(router: Router, activatedRoute: ActivatedRoute);
    /**
     * Recursively build breadcrumb according to activated route.
     *
     * @param route activate route object
     * @param url parent url
     * @param breadcrumbs array of current breadcrumbs
     */
    buildBreadCrumb(route: ActivatedRoute, url?: string, breadcrumbs?: IBreadcrumb[]): IBreadcrumb[];
    /**
     * Returns the latest array of breadcrumbs.
     *
     * @returns Array of breadcrumbs
     */
    getBreadcrumbs(): IBreadcrumb[];
    /**
     * Edit the breadcrumb label and url dynamically.
     * If the label is null while editing, it will act
     * as delete breadcrumb from UI.
     *
     * @param crumbs IReplaceBreadcrumb[]
     */
    editBreadcrumbs(crumbs: IReplaceBreadcrumb[]): void;
    private _subscribeToRouteEvent;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxBreadcrumbService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxBreadcrumbService>;
}
