import React, { type ReactNode } from 'react'; import type { ViewerConfig, MapOptions, Marker, MarkerData } from '@edgepdf/types'; import type { ZoomControlsProps } from './zoom-controls.js'; /** * Props for EdgePDFViewer component */ export interface EdgePDFViewerProps { /** Viewer configuration */ config: ViewerConfig; /** Optional map options */ mapOptions?: MapOptions; /** Optional className for the container */ className?: string; /** Optional style for the container */ style?: React.CSSProperties; /** Show zoom controls (default: true) */ showZoomControls?: boolean; /** Zoom controls position (only used if showZoomControls is true) */ zoomControlsPosition?: ZoomControlsProps['position']; /** Show zoom level in zoom controls (only used if showZoomControls is true) */ showZoomLevel?: boolean; /** Enable annotation functionality (default: true) */ enableAnnotation?: boolean; /** Show edit button in marker action controls (default: true) */ showEditButton?: boolean; /** Show delete button in marker action controls (default: true) */ showDeleteButton?: boolean; /** Default zoom level for initial view */ defaultZoomLevel?: number; /** Callback when markers/pins are updated */ onPinsUpdate?: (pins: Marker[]) => void; /** Callback when a marker is clicked */ onMarkerClick?: (marker: Marker) => void; /** Callback when a marker is updated */ onMarkerUpdate?: (marker: Marker) => void; /** Callback when a marker is deleted */ onMarkerDelete?: (marker: Marker) => void; /** Callback when a marker is added (created by user tap/click) */ onMarkerAdd?: (marker: Marker) => void; /** Default pins to preload (uses internal import) */ defaultPins?: Marker[] | MarkerData; /** Enable fullscreen functionality (default: false) */ enableFullscreen?: boolean; /** Fullscreen control position (default: 'top-right') */ fullscreenControlPosition?: ZoomControlsProps['position']; /** Children components */ children?: ReactNode; } /** * EdgePDFViewer - Main React component for the EdgePDF viewer * * This component initializes the viewer and updates the context. * Must be used within a ViewerProvider. * * @example * ```tsx * * * * * ``` */ export declare function EdgePDFViewer({ config, mapOptions, className, style, showZoomControls, zoomControlsPosition, showZoomLevel, enableAnnotation, showEditButton, showDeleteButton, defaultZoomLevel, onPinsUpdate, onMarkerClick, onMarkerUpdate, onMarkerDelete, onMarkerAdd, defaultPins, enableFullscreen, fullscreenControlPosition, children, }: EdgePDFViewerProps): React.JSX.Element; //# sourceMappingURL=pdf-viewer.d.ts.map