import type { jsPDF as JsPdf } from 'jspdf'; import type { WorkPdfPageBounds, WorkPdfPagePoints } from './work-pdf-text-layer'; /** One external hyperlink hotspot in page-local CSS pixels. */ export interface WorkPdfExternalLinkBox { /** Accessible label: visible link text, else href. */ alt: string; height: number; href: string; width: number; x: number; y: number; } /** * Collects visible `a[href]` hotspots that use http(s) targets inside a page * bounds. Internal `#` anchors, empty, javascript:, and oversized hrefs are * omitted (fail soft). Not a PDF/UA certification claim. */ export declare function collectWorkPdfExternalLinkBoxes(root: ParentNode, page: WorkPdfPageBounds): WorkPdfExternalLinkBox[]; /** * Writes deferred URI link annotations for collected hotspots and registers * matching `/Link` StructElems with `/OBJR` association. Coordinates map from * page-local CSS pixels into PDF user space (origin top-left → jsPDF y-down * flip via getVerticalCoordinateString on putPage). */ export declare function appendWorkPdfExternalLinkAnnotations(pdf: JsPdf, links: readonly WorkPdfExternalLinkBox[], pageCss: WorkPdfPageBounds, pagePoints: WorkPdfPagePoints): void;