/** * PdfSpreadSplitter — turns two-page-spread PDFs into logical single pages. * * Runs directly after raw page extraction and BEFORE PdfElementComposer, so * every downstream stage (element composition, cleaning, page composition, * minify) sees normal single-page geometry and needs no spread awareness. * * The one contract downstream code must honor: after splitting, `pageIndex` * is a LOGICAL sequence, not a PDF page number. Anything that touches the * physical PDF (screenshot rasterization) must resolve the physical page via * `page.metadata.spread` (see SpreadSourceInfo). */ import type { PdfDecomposerDecomposedPage } from '../types/decomposer.types.js'; import type { SpreadHandling } from './spread/types.js'; export declare class PdfSpreadSplitter { /** * Split spread pages into logical half pages according to `mode`. * * - 'off': returns the input untouched. * - 'auto': splits only when document-level evidence says spread. * - 'split': skips detection and splits every landscape page. * * Pages are renumbered into a continuous logical sequence; each output page * carries `metadata.spread` with its physical source identity. */ static splitPages(pages: PdfDecomposerDecomposedPage[], mode: SpreadHandling): PdfDecomposerDecomposedPage[]; /** One logical page holding the given half's elements, coordinates re-based. */ private static buildHalfPage; /** Tag a page kept whole so physical-page resolution survives renumbering. */ private static tagFullPage; private static sourceInfo; /** * Rewrite page and element indices into one continuous logical sequence. * After this, pageIndex/pageNumber express reading order, not PDF pages. */ private static renumberSequentially; } //# sourceMappingURL=PdfSpreadSplitter.d.ts.map