/** * Two-page spreads (`:::page{spread}`, #567): one split tree laid over the * frames of two facing pages joined across the spine (their inner margins * dropped), then cut at the spine. Each page carries the panels that reach * its side, clipped there (a panel or picture crossing the spine shows on * both, each page painting its half), the split lines that lie on it and * the balloons whose centre is on it, all on its own sheet. * * The comic is laid out in spread coordinates: the left page's sheet, with * the right page's sheet set against it so that the two trim boxes meet at * the spine. */ import type { BoundingBox, ResolvedConfig, VDTComicPage } from '../vdt.js'; import type { Resource } from '../types.js'; import { type ComicPageContext } from './layoutPage.js'; import type { ComicPageSource } from './types.js'; /** Whether a comic page asks for a spread (`:::page{spread}`). */ export declare function isComicSpread(source: Pick): boolean; /** One page of a spread as the build hands it over. */ export type ComicSpreadPage = Pick; export interface ComicSpreadContext { resolved: ResolvedConfig; resources: ReadonlyMap; sourceOffset?: number; /** The left page and the right page of the open book. */ left: ComicSpreadPage; right: ComicSpreadPage; } /** The band about the spine that lettering and text keep out of, on a * half of a spread laid out by {@link layoutComicSpread} (the half of a * gutter 8 mm wide that lies on its sheet, sheet px); undefined for * anything else. */ export declare function comicSpreadGutter(comic: Pick, dpi: number, sheetHeight: number): BoundingBox | undefined; /** * Lay out a spread over two facing pages: `[left, right]`, each on its own * sheet. Reading direction, gutters, panel styles and bleed work as on a * page; bleeding panels bleed through the outer edges (head, foot, fore * edges), never at the spine. */ export declare function layoutComicSpread(source: ComicPageSource, given: ComicSpreadContext): [VDTComicPage, VDTComicPage]; //# sourceMappingURL=spread.d.ts.map