interface PdfPageRendererProps { pdfUrl: string; pageNumber: number; width?: number; className?: string; renderTextLayer?: boolean; renderAnnotationLayer?: boolean; onLoadSuccess?: (numPages: number) => void; onError?: (error: Error) => void; } export declare function PdfPageRenderer({ pdfUrl, pageNumber, width, className, renderTextLayer, renderAnnotationLayer, onLoadSuccess, onError }: PdfPageRendererProps): import("react/jsx-runtime").JSX.Element; interface PageDimensions { width: number; height: number; aspectRatio: number; } interface SharedPdfContextValue { pdfUrl: string; numPages: number; loading: boolean; error: Error | null; pageDimensions: PageDimensions | null; } interface SharedPdfProviderProps { pdfUrl: string; urlLoading?: boolean; children: (renderPage: (pageNumber: number, width?: number) => React.ReactNode) => React.ReactNode; onLoadSuccess?: (numPages: number) => void; } /** * Provider that loads a PDF once using a single Document component. * Children receive a renderPage function to render pages inside the Document. */ export declare function SharedPdfProvider({ pdfUrl, urlLoading, children, onLoadSuccess }: SharedPdfProviderProps): import("react/jsx-runtime").JSX.Element; export declare function useSharedPdf(): SharedPdfContextValue | null; interface SimplePdfPageProps { pageNumber: number; width?: number; className?: string; } /** * Simple wrapper for a PDF page that adds styling. * Must be used inside SharedPdfProvider's children render function. */ export declare function SimplePdfPage({ pageNumber, width, className }: SimplePdfPageProps): import("react/jsx-runtime").JSX.Element; interface PdfThumbnailListProps { pdfUrl: string; urlLoading?: boolean; pageCount: number; currentPage: number; thumbnailWidth?: number; onPageSelect: (pageNumber: number) => void; renderThumbnail: (props: { pageNumber: number; isSelected: boolean; pageElement: React.ReactNode; onSelect: () => void; }) => React.ReactNode; /** Optional ref to the scroll container. If not provided, will search for scrollable ancestor. */ scrollContainerRef?: React.RefObject; /** Callback when aspect ratio is determined from the PDF. Useful for synchronizing placeholder sizing. */ onAspectRatioChange?: (aspectRatio: number) => void; /** Callback when item height is calculated. Useful for scroll position calculations. */ onItemHeightChange?: (itemHeight: number) => void; /** Custom function to calculate item height. Receives placeholder height and should return total item height. */ calculateItemHeight?: (placeholderHeight: number) => number; /** Callback when actual page count is determined from the PDF. Useful when initial count is estimated. */ onPageCountChange?: (pageCount: number) => void; } export declare function PdfThumbnailList({ pdfUrl, urlLoading, pageCount, currentPage, thumbnailWidth, onPageSelect, renderThumbnail, scrollContainerRef, onAspectRatioChange, onItemHeightChange, calculateItemHeight, onPageCountChange }: PdfThumbnailListProps): import("react/jsx-runtime").JSX.Element; interface PdfDocumentRendererProps { pdfUrl: string; pageNumber: number; width?: number; height?: number; className?: string; renderTextLayer?: boolean; renderAnnotationLayer?: boolean; onPageChange?: (pageNumber: number, totalPages: number) => void; } export declare function PdfDocumentRenderer({ pdfUrl, pageNumber, width, height, className, renderTextLayer, renderAnnotationLayer, onPageChange }: PdfDocumentRendererProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=PdfPageRenderer.d.ts.map