import type { VDTColumn, VDTColumnRule, VDTDocument, VDTFootnoteArea, VDTPage } from './vdt.js'; /** The column rule `page` draws: its own (a styled section's, see * `VDTPage.columnRule`), else the document's `layout.columnRule`. Shared * by the canvas and PDF backends. */ export declare function pageColumnRule(page: Pick, doc: Pick): VDTColumnRule; /** One vertical rule segment between two adjacent text columns of a band. */ export interface ColumnRuleSegment { /** Horizontal centre of the gutter. */ x: number; top: number; bottom: number; } /** * Compute the column-rule segments of a page: one per gutter between * adjacent text columns of the same band, spanning the taller of the two * columns. Full-width `kind: 'span'` columns (page-span blocks) never take * part, so the rule stops at a span block and resumes with the next band * — the ruling a compositor would draw. Under a page-span heading's opener * band it starts where the text does. A gutter between two columns that * hold nothing (a band closed before any text landed, the empty columns * left beside a closing page's text, the grid line a page-span opener * leaves under its band before a page-span box) is not ruled; a zero-height column * (one a float filled) still bounds its gutters, which then run the length * of its neighbour — beside the float, never through it (#505). A closing * band ends its columns on the grid line under its text, cut level by a * trailing cap or closed where it stood when it was level already (#713): * the rule ends there, and runs on only beside the notes at a column's * foot. Bands are visited in column order, which is band order because * bands are always appended. */ export declare function columnRuleSegments(columns: readonly VDTColumn[], /** The page's footnote areas: the rule runs on beside the notes set at a * column's foot (which the column's box no longer covers). */ footnoteAreas?: readonly VDTFootnoteArea[]): ColumnRuleSegment[]; /** A horizontal footnote separator rule: its left end, the y of its centre * line, length, thickness (px) and colour. */ export interface FootnoteRuleSegment { x: number; y: number; width: number; lineWidthPx: number; color: string; } /** The footnote separator rules of a page (one per column holding notes). */ export declare function footnoteRuleSegments(page: Pick): FootnoteRuleSegment[]; //# sourceMappingURL=columnRule.d.ts.map