import { CollaborationConfig, CollaborationTransport, YDocLike, YjsFactories } from 'pptx-viewer-shared'; import { CollabProviderHandle } from './collaboration-provider'; /** A fully-wired collaboration session: the doc, its factories, and transport. */ export interface CollabSession { /** The live Y.Doc (structural view used by the shared reconcile helpers). */ ydoc: YDocLike; /** Factories the shared reconcile helpers use to build Y.Map/Array/Text. */ factories: YjsFactories; /** The normalised transport provider handle. */ provider: CollabProviderHandle; /** Tear down the provider and destroy the doc. */ destroy: () => void; } /** * Build a live session for the given transport + config. Injectable so tests * can substitute an in-memory fake (see `collaboration.svelte.ts`). */ export type CollabSessionFactory = (transport: CollaborationTransport, config: CollaborationConfig) => Promise; /** * Default factory: dynamically import `yjs`, build a `Y.Doc` plus the * `YjsFactories`, and attach the requested transport provider. */ export declare const createDefaultSession: CollabSessionFactory; //# sourceMappingURL=collaboration-session.d.ts.map