import { PDFSource, ViewerOptions, InputHighlightData } from '@epam/pdf-highlighter-kit'; import { FC } from 'react'; import { PdfViewerApi } from '../../models/pdf-viewer.models'; /** * Props for the low-level PDF rendering component. */ export interface PdfViewerProps { /** PDF source: a URL string, `Blob`, or `ArrayBuffer`. */ pdf: PDFSource; /** Highlight data rendered by pdf-highlighter-kit. */ highlights: InputHighlightData[]; /** Zoom mode: `auto`, `page-fit`, or stringified numeric value such as `1.25`. */ zoom?: string; /** Highlight id to navigate to after highlights are loaded. */ selectedHighlightId?: string; /** Auto-focus the first highlight when highlights are loaded. */ autoFocusFirstHighlight?: boolean; /** Navigates to this page after viewer initialization. */ selectedPageNumber?: number; /** Additional class name for the root viewer container. */ containerClassName?: string; /** Callback invoked when total pages become available. */ onTotalPagesChange?: (totalPages: number) => void; /** Callback invoked with an imperative API when viewer setup completes. */ onViewerReady?: (api: PdfViewerApi) => void; /** Optional list of pages to load instead of the full document. */ selectedPages?: number[]; /** * Override or extend low-level viewer initialization options. * Values are merged on top of the defaults (`enableTextSelection: true`, * `enableVirtualScrolling: true`, `bboxOrigin: 'top-left'`). */ viewerOptions?: ViewerOptions; } /** * Low-level PDF viewer wrapper around `PDFHighlightViewer`. * * This component is intended for scenarios where only rendering/navigation logic is needed * without the higher-level toolbar and overlays from `DocumentPreview`. */ export declare const PDFViewer: FC;