import { type PdfSource } from '@pdfrx/react'; import { type ReactNode } from 'react'; import { type CollaborationConnectionState, type CollaborationTransport } from './client.js'; /** Configuration for the ready-made collaborative React viewer. */ export interface CollaborativePdfViewerProps { /** Stable participant identifier attached to page and annotation operations. */ readonly actorId: string; /** WebSocket endpoint of the collaboration relay. */ readonly relayUrl: string; /** Shared session identifier. */ readonly sessionId: string; /** Device-specific membership token issued when this participant was admitted. */ readonly memberToken?: string; /** Reports relay connection lifecycle changes. */ readonly onConnectionStateChange?: (state: CollaborationConnectionState) => void; /** Reports the number of participants currently connected. */ readonly onPresenceChange?: (connectedCount: number) => void; /** Accessible participant label shown in the built-in chrome. */ readonly name?: string; /** Initial PDF opened before the authoritative session snapshot arrives. */ readonly src: PdfSource; /** Document id represented by `src`. Defaults to `main`. */ readonly srcDocumentId?: string; /** Directory containing the PDFium worker assets. */ readonly wasmModulesUrl?: string; /** Additional class applied to the outer `.collab-pane` element. */ readonly className?: string; /** Authentication and routing hooks for relay WebSocket and source requests. */ readonly transport?: CollaborationTransport; } /** * Ready-made `@pdfrx/react` viewer connected to a strict-revision relay. * * It owns its provider, opens missing shared sources, synchronizes page, * annotation, and form streams, and supplies import and collaborative export * UI. Hosts should import both `@pdfrx/react/styles.css` and * `@pdfrx/colab/styles.css` once. * @param __namedParameters - The destructured component props or operation options. * @returns The resulting ReactNode. * */ export declare function CollaborativePdfViewer({ name, actorId, relayUrl, sessionId, memberToken, onConnectionStateChange, onPresenceChange, src, srcDocumentId, wasmModulesUrl, className, transport, }: CollaborativePdfViewerProps): ReactNode; //# sourceMappingURL=collaborative-viewer.d.ts.map