import type { TOCOptions } from 'myst-cli';
import type { Blocks } from '@curvenote/blocks';
import { NavListItemKindEnum } from '@curvenote/blocks';
import type { Version } from '../../../models.js';
import { Block } from '../../../models.js';
import type { ISession } from '../../../session/types.js';
type FolderItem = {
    id: string;
    kind: NavListItemKindEnum;
    title?: string;
    block?: Block;
    children: FolderItem[];
};
type LoadedBlocks = {
    id: string;
    kind: NavListItemKindEnum.Group;
    title: string;
} | {
    id: string;
    parentId: string | null;
    kind: NavListItemKindEnum.Item;
    block: Block | null;
};
export declare function unflattenNavBlocks(loadedBlocks: LoadedBlocks[]): {
    items: FolderItem[];
    hasParts: boolean;
    skipCounter: number;
    totalDocuments: number;
};
export declare function writeTOC(session: ISession, nav: Version<Blocks.Navigation>, opts?: TOCOptions): Promise<void>;
export {};
//# sourceMappingURL=toc.d.ts.map