import { NavigationItem, DocItem, ChannelItem } from '../interfaces/public-api';
import { GlobalContext } from './global-context';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class NavigationService {
    private global;
    channel$: BehaviorSubject<ChannelItem>;
    docItem$: BehaviorSubject<NavigationItem>;
    docPages$: BehaviorSubject<{
        pre: NavigationItem;
        next: NavigationItem;
    }>;
    /** Responsive layout, sidebar default is hide */
    showSidebar: boolean;
    get channel(): ChannelItem;
    get docItem(): NavigationItem;
    get navs(): NavigationItem[];
    get docItems(): NavigationItem[];
    constructor(global: GlobalContext);
    getChannels(): ChannelItem[];
    getChannel(path: string): ChannelItem;
    getDocItemByPath(path: string): NavigationItem;
    selectChannelByPath(path: string): ChannelItem;
    clearChannel(): void;
    selectDocItem(path: string): void;
    getChannelFirstDocItem(): DocItem;
    searchFirstDocItem(items?: NavigationItem[]): DocItem;
    getNavFirstDocItem(nav: NavigationItem): DocItem;
    toggleSidebar(): void;
    resetShowSidebar(): void;
    private isCategoryItem;
    private isDocItem;
    static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
}
//# sourceMappingURL=navigation.service.d.ts.map