import { Router } from '@angular/router';
import { BehaviorSubject } from 'rxjs';
import { BreadCrumbsStyle } from '../enlighten-lib/enums/bread-crumbs-style';
import { ScreenType } from '../enlighten-lib/filters/condition-type';
import * as i0 from "@angular/core";
export declare class BreadCrumbsService {
    private _router;
    onBreadCrumbsChanged: BehaviorSubject<Array<BreadCrumb>>;
    onTitleChanged: BehaviorSubject<any>;
    breadCrumbs: Array<BreadCrumb>;
    breadCrumbStyleChanged: BehaviorSubject<BreadCrumbsStyle>;
    /**
     *
     * @param _router
     */
    constructor(_router: Router);
    /**
     * Used to change the current bread crumb
     * @param itemId
     */
    changeCurrentBreadCrumb(index: number): void;
    /**
     * Used to add bread crumb
     * @param breadCrumb
     */
    addBreadCrumb(breadCrumb: BreadCrumb): void;
    update(): void;
    /**
     * Remove all bread crumbs of provided screen
     * @param screenType
     */
    removeScreenBreadCrumbs(screenType: ScreenType): void;
    /**
     * Remove all bread crumbs
     */
    removeAllBreadCrumbs(): void;
    /**
     * Called when editable bread crumb title changed
     * @param title
     * @param id
     */
    changeTitle(title: string, id?: string): void;
    /**
     * Used to set bread crumb style
     * @param crumbStyle
     */
    setCrumbStyle(crumbStyle: BreadCrumbsStyle): void;
    /**
     * Check bread crumb are existing or Not
     * @param breadCrumbTitle
     * @returns boolean  true or false
     */
    checkBreadCrumbExisting(breadCrumbTitle: string): boolean;
    /**
     * returns breadCrumb ScreenType By Url
     * @param url
     * @returns
     */
    getBreadCrumbScreenTypeByUrl(url: any): ScreenType;
    static ɵfac: i0.ɵɵFactoryDeclaration<BreadCrumbsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<BreadCrumbsService>;
}
export declare class BreadCrumb {
    guid: string;
    itemId: number;
    title: string;
    url: string;
    screenType: number;
    parentId: number;
    function: any;
    icon: string;
    onErrorIcon: string;
    isEditable: boolean;
    isCollapsable: boolean;
    showHoverBox: boolean;
    createBreadCrumb(itemId: number, title: string, url: string, screenType: number, parentId?: number, icon?: string, isCollapsable?: boolean): void;
}
