import React from "react"; /** Visible strings; every key falls back to its English default. */ export type PdfViewerLabels = Partial<{ open: string; download: string; unsupported: string; failed: string; }>; /** Inline PDF viewer fed by a URL or an authed blob getter. */ export interface PdfViewerProps { /** URL of the PDF, rendered via a native browser ; pass exactly one of `pdfUrl` / `getBlob`. */ pdfUrl?: string; /** Source as a blob getter instead of a URL — for authed files; the viewer makes and revokes the object URL. */ getBlob?: () => Promise; /** File name shown in the toolbar and used as the download name. */ fileName?: string; /** Height of the embed. */ height?: string; /** Show the toolbar (name + open + download); set false when the caller renders its own file actions. */ showToolbar?: boolean; /** Border radius of the frame. */ borderRadius?: string; /** What shows when inline PDF is unsupported or loading failed. Default: message + Open + Download. */ fallback?: React.ReactNode; /** Fires when the embed loads; in blob mode, when the file bytes are ready ( has no reliable load event). */ onLoad?: () => void; /** Fires when `getBlob` rejects or an on-demand Open/Download fetch fails. */ onError?: (error: unknown) => void; labels?: PdfViewerLabels; "data-testid"?: string; } /** Always-inline PDF embed panel (never a modal) — for a modal previewer of images/video/other too, use FilePreview. */ declare const PdfViewer: React.FC; export default PdfViewer;