import { NehanElement, LayoutSection, ILayoutOutlineCallbacks, ILayoutOutlineEvaluator } from "./public-api";
export declare class LayoutOutline {
    rootElement?: NehanElement;
    rootSection: LayoutSection;
    curSection: LayoutSection;
    private headers;
    constructor();
    getSectionAt(pageIndex: number): LayoutSection;
    acceptEvaluator(visitor: ILayoutOutlineEvaluator): HTMLElement;
    createElement(callbacks?: ILayoutOutlineCallbacks): HTMLElement;
    openElement(element: NehanElement, pageIndex: number): LayoutSection | undefined;
    closeElement(element?: NehanElement): LayoutSection;
    getHeaderSection(element: NehanElement): LayoutSection | undefined;
    protected openSectionRoot(element: NehanElement, pageIndex: number): LayoutSection;
    protected openSection(pageIndex: number): LayoutSection;
    protected closeSection(): LayoutSection;
    protected openHeader(element: NehanElement, pageIndex: number): LayoutSection;
    protected get curTitle(): string;
    protected createContextSection(pageIndex: number, header?: NehanElement): LayoutSection;
    protected createStandAloneSubSection(pageIndex: number, header?: NehanElement): LayoutSection;
    protected createSubSection(pageIndex: number, header?: NehanElement): LayoutSection;
    protected createNextSection(pageIndex: number, header?: NehanElement): LayoutSection;
    protected closeHigherSection(section: LayoutSection, maxLevel: number): LayoutSection;
    protected createHigherSection(pageIndex: number, header: NehanElement, max_level: number): LayoutSection;
    protected addHeader(header: NehanElement, pageIndex: number): LayoutSection;
}
