import { LambMenuItem, LambMenuBag } from './menu-item';
import { BehaviorSubject, Observable } from 'rxjs';
import { Location } from '@angular/common';
export declare class LambMenuInternalService {
    private location;
    private items;
    constructor(location: Location);
    getItems(): LambMenuItem[];
    collapseAll(items: LambMenuItem[], tag: string, except?: LambMenuItem): void;
    private getParent(tag, item?);
    itemHover(item: LambMenuItem, tag?: string): void;
    submenuToggle(item: LambMenuItem, tag?: string): void;
    selectItem(item: LambMenuItem, tag: string): void;
    private selectParent({parent: item}, tag);
    itemClick(item: LambMenuItem, tag?: string): void;
    private itemSelect(item, tag?);
    onAddItem(): Observable<{
        tag: string;
        items: LambMenuItem[];
    }>;
    onNavigateHome(): Observable<{
        tag: string;
    }>;
    onGetSelectedItem(): Observable<{
        tag: string;
        listener: BehaviorSubject<LambMenuBag>;
    }>;
    resetItems(items: LambMenuItem[]): void;
    private resetItem(item);
    prepareItems(items: LambMenuItem[]): void;
    private setParent(item);
    updateSelection(items: LambMenuItem[], tag: string, collapseOther?: boolean): void;
    private selectItemByUrl(item, tag);
    private selectedInUrl(item);
    private collapseItem(item, tag?, excepts?);
}
