/** * Page role classification. Runs once after placement (at the top of * `buildHeadersAndFooters`) and stamps `page.role` so design slots can filter * elements per page kind (`DesignElement.pages`). * * Roles, in precedence order: * - `'blank'` — parity / force-blank padding pages; * - `'part'` — part-divider pages (`page.partInfo` set), even when the * body column is empty (the opener design is the content); * - `'comic'` — a comic page (`page.comic` set, `:::page`); * - `'composed'` — a composed page (`page.composed` set, `::::page`); * - `'blank'` — any other page with no content at all (no column blocks * and no floats); * - `'opener'` — the first block in reading order is a heading whose level * spans the page or forces a page break before it: the * first page of a chapter; * - `'body'` — everything else. */ import type { PageRole } from '../types.js'; import type { ResolvedConfig, VDTDocument, VDTPage } from '../vdt.js'; import { type HeadingLevelResolver } from './headingStyles.js'; /** Classify one page. Pure — does not mutate the page. */ export declare function classifyPage(page: VDTPage, resolved: ResolvedConfig, levels?: HeadingLevelResolver): PageRole; /** Stamp `page.role` on every page of `doc`. */ export declare function classifyPages(doc: VDTDocument, resolved?: ResolvedConfig): void; //# sourceMappingURL=pageRoles.d.ts.map