import type { DecisionRecord, OverlayItem } from "../plugin/types"; import type { PageInfo } from "../types"; interface PageCanvasProps { jobId: string; page: PageInfo; zoom: number; /** * Generic overlay items to render on top of the page tile. Hosts * convert their domain records (findings, annotations, brand-spec * violations) into `OverlayItem`s before passing them in. */ items: readonly OverlayItem[]; /** Currently-selected overlay item (or null). Drives the highlight * + tooltip + page-level indicator branches. */ selectedItem: OverlayItem | null; /** Fires when the user clicks an item's bbox on the canvas. */ onItemClick: (item: OverlayItem) => void; /** Optional handler — when wired, the bbox/badge tooltip surfaces a * "Leave a note" button that calls this with the finding id. Host * is expected to open its notes panel pre-targeted to that finding. * Hidden when undefined. */ onFindingNoteRequest?: (id: string) => void; onZoomChange?: (zoom: number) => void; onPageChange?: (delta: number) => void; tileDpi?: number; tileCdnBase?: string | null; /** * WS-17B — when true, the canvas is clipped to the page's * TrimBox (falls back to BleedBox, then CropBox). Hides the * white bleed strip that sits outside the trim line on finished- * goods review. Default false so pre-WS-17 viewers still see * the full MediaBox unchanged. */ cropToTrim?: boolean; /** Stable F1…FN numbers keyed by item.id (from buildFindingNumberMap). * Drives the pill badges drawn on each located finding. */ findingNumbers?: ReadonlyMap; /** * Active decisions keyed by finding id. When a finding has an active * approve/waive decision, the canvas dims it to 25% opacity and adds * a ✓ glyph alongside the F-badge so reviewers see approval state * without opening the sidebar. */ decisions?: Record; } export declare function PageCanvas({ jobId: _jobId, page, zoom, items, selectedItem, onItemClick, onFindingNoteRequest, onZoomChange, onPageChange, tileDpi, tileCdnBase, cropToTrim, findingNumbers, decisions, }: PageCanvasProps): import("react").JSX.Element | null; export {}; //# sourceMappingURL=PageCanvas.d.ts.map