import type { GenericNode } from 'myst-common';
import type { DocumentHierarchy } from 'myst-spec-ext';
export type HeadingInfo = {
    text: string;
    depth: number;
    html_id?: string;
};
export type Section = {
    heading?: HeadingInfo;
    parts: string[];
};
export declare function toSectionedParts(content: GenericNode): Section[];
/**
 * Determine the "level" of a heading as a literal type
 *
 * @param heading - heading info object
 */
export declare function sectionToHeadingLevel(heading: HeadingInfo | undefined): keyof DocumentHierarchy;
/**
 * Build a DocumentHierarchy object describing the hierarchy of headings
 * in an array of appearance-ordered sections.
 *
 * @param title - document title
 * @param sections - array of section
 * @param index - current section position
 */
export declare function buildHierarchy(title: string | undefined, sections: Section[], index: number): DocumentHierarchy;
//# sourceMappingURL=search.d.ts.map