import { HocuspocusProvider } from '@hocuspocus/provider'; import { IndexeddbPersistence } from 'y-indexeddb'; import { SyncRefs } from './types'; import * as Y from 'yjs'; type CreateCollabResourcesOptions = { /** When false, skip IndexedDB so a failed pre-connect clear cannot remount over stale cache. */ useIndexedDB?: boolean; }; /** Create collab resources (ydoc, persistence, provider) */ export declare const createCollabResources: (room: string, url: string, token?: string, options?: CreateCollabResourcesOptions) => { ydoc: Y.Doc; persistence: IndexeddbPersistence | null; provider: HocuspocusProvider; }; /** Destroy collab resources with error handling. */ export declare const destroyCollabResources: (provider: HocuspocusProvider, _persistence: IndexeddbPersistence | null, ydoc: Y.Doc) => void; /** * Wire up provider and persistence event listeners. * `onRemoteReady` fires when remote is considered ready (`synced`, or connected fallback) * so editor mount and `onSynced` share the same readiness path. */ export declare const wireProviderEvents: (provider: HocuspocusProvider, persistence: IndexeddbPersistence | null, refs: SyncRefs, onRemoteReady?: () => void) => () => void; export {};