import { Site } from './site';
import { LanguageService } from '../type';
import { Menus } from '../valueobject/menu';
import { MenuBuilder } from './menu-builder';
import { TaxonomyList, TaxonomiesBuilder } from "./taxonomies-builder";
export declare class Navigation {
    private taxonomies;
    private taxonomiesBuilder;
    private taxonomiesCache;
    private menus;
    private menuBuilder;
    private menuCache;
    constructor(langSvc: LanguageService);
    setMenuBuilder(menuBuilder: MenuBuilder): void;
    setTaxonomiesBuilder(taxonomiesBuilder: TaxonomiesBuilder): void;
    generateMenusForLanguage(lang: string, langIndex: number): Promise<void>;
    generateTaxonomiesForLanguage(lang: string, langIndex: number, site: Site): Promise<void>;
    getMenus(lang: string): Menus;
    getTaxonomies(lang: string): TaxonomyList | undefined;
}
export declare function newNavigation(langSvc: LanguageService): Navigation;
