import type { PdfPageContent } from '../models/PdfPageContent.js'; /** * Composes consecutive PDF pages that belong to the same article into a single * page. The continuity decision (document-agnostic, ad-aware) lives in * ./heuristics/pageContinuity; this class only handles grouping and merging. */ export declare class PdfPageComposer { /** * Analyze and compose pages that have continuous content flow. * @param pages Array of PDF page content * @returns Array of composed pages with merged continuous content */ static composePages(pages: PdfPageContent[]): PdfPageContent[]; /** * Both pages carry the IDENTICAL running-head token set, the set names a * subject (2+ tokens), and at least one token is rare document-wide. * * All three conditions are load-bearing. An article's kicker repeats * verbatim on its pages ("BUSINESS stable fly" / "stable fly BUSINESS" = * the same set), while two adjacent articles of one section differ ("CEO * report UPFRONT" vs "UPFRONT CEO"). The 2-token minimum drops bare section * labels ("minews", "BEEINFORMED") that facing pages of DIFFERENT articles * share verbatim. The rarity bound drops long-running section kickers. */ private static hasSharedRareRunningHead; /** * Compose multiple pages into a single page with proper element ordering. */ private static composePageGroup; /** * Concatenate elements page by page, preserving the per-page reading order * already established by PdfElementComposer. */ private static orderElementsSpatially; } //# sourceMappingURL=PdfPageComposer.d.ts.map