import type { WorkPresentationContent } from '../features/work/work-types'; import { type WorkOfficeCollaborationOrigin, type WorkOfficeCollaborationSession } from './office-collaboration'; export interface WorkOfficePresentationCollaborationChange { content: WorkPresentationContent; local: boolean; origin: unknown; } export interface WorkOfficePresentationCollaborationBindingOptions { captureTimeoutMs?: number; origin?: WorkOfficeCollaborationOrigin; } export interface WorkOfficePresentationCollaborationBinding { readonly origin: WorkOfficeCollaborationOrigin; content(): WorkPresentationContent; replace(previous: WorkPresentationContent, next: WorkPresentationContent): boolean; canUndo(): boolean; canRedo(): boolean; undo(): boolean; redo(): boolean; stopCapturing(): void; subscribe(listener: (change: WorkOfficePresentationCollaborationChange) => void): () => void; subscribeError(listener: (error: unknown) => void): () => void; subscribeHistory(listener: () => void): () => void; destroy(): void; } export declare function initializeWorkOfficePresentationCollaboration(session: WorkOfficeCollaborationSession, content: WorkPresentationContent): { initialized: boolean; content: WorkPresentationContent; }; export declare function readWorkOfficePresentationCollaboration(session: WorkOfficeCollaborationSession): WorkPresentationContent; export declare function replaceWorkOfficePresentationCollaboration(session: WorkOfficeCollaborationSession, previous: WorkPresentationContent, next: WorkPresentationContent, origin?: WorkOfficeCollaborationOrigin): boolean; export declare function createWorkOfficePresentationCollaborationBinding(session: WorkOfficeCollaborationSession, options?: WorkOfficePresentationCollaborationBindingOptions): WorkOfficePresentationCollaborationBinding;