import type { PageRole, ResolvedDesignElement } from '../types.js'; import type { ContentWarning, VDTPage } from '../vdt.js'; /** * `folioMissing` (#1163): among the laid pages of one composed page template * and side, a page that draws no folio or running head that most of its * siblings draw. The layout records, per composed page, the furniture its * running heads and decoration mean to draw there (after the parity, page * role and `when` / `unless` filters); this module compares what each page * drew with its siblings. */ /** Where a furniture element is written. */ export type FurnitureSlot = 'header' | 'footer' | 'decoration'; /** One element a composed page's slots mean to draw on it. */ export interface FurnitureElement { slot: FurnitureSlot; id: string; /** Whether its text holds `{pageNumber}`. */ folio: boolean; } /** What one composed page's running heads and decoration mean to draw. */ export interface PageFurniture { pageIndex: number; template: string; side: 'recto' | 'verso'; expected: FurnitureElement[]; } /** The furniture elements of a slot that are drawn on a page: text * elements (of a running head, any; of a decoration, those that read a * running placeholder) that the parity, the page-role filter and the page * fence's `when` / `unless` let draw there (`own`: the attributes an * element reads first, a module's fence, #1189). `pageNumberIndex` is the * index the parity filter reads (`page.index + pageIndexOffset`). */ export declare function expectedFurniture(elements: readonly ResolvedDesignElement[], slot: FurnitureSlot, pageNumberIndex: number, role: PageRole | undefined, attrs: Readonly> | undefined, own?: ReadonlyMap>>): FurnitureElement[]; /** The `folioMissing` warnings of a laid document: for each template and * side, an element that at least two pages draw and that more than half * of the other pages meant to draw it do, reported on each page that * meant to draw it and drew nothing. A page whose fence switches the * element off (`when` / `unless`), or whose slot has no such element (a * template with `footer: false`, a styled section's running heads on an * opener), never meant to draw it. */ export declare function folioMissingWarnings(pages: readonly VDTPage[], records: readonly PageFurniture[]): ContentWarning[]; //# sourceMappingURL=furniture.d.ts.map