import type { WorkMarkdownContent } from '../features/work/work-types'; import { type WorkOfficeCollaborationOrigin, type WorkOfficeCollaborationSession } from './office-collaboration'; export interface WorkOfficeMarkdownCollaborationChange { content: WorkMarkdownContent; local: boolean; origin: unknown; } export interface WorkOfficeMarkdownCollaborationBindingOptions { origin?: WorkOfficeCollaborationOrigin; captureTimeoutMs?: number; } export interface WorkOfficeMarkdownCollaborationBinding { readonly origin: WorkOfficeCollaborationOrigin; content(): WorkMarkdownContent; replace(markdown: string): boolean; canUndo(): boolean; canRedo(): boolean; undo(): boolean; redo(): boolean; stopCapturing(): void; subscribe(listener: (change: WorkOfficeMarkdownCollaborationChange) => void): () => void; subscribeHistory(listener: () => void): () => void; destroy(): void; } export declare function initializeWorkOfficeMarkdownCollaboration(session: WorkOfficeCollaborationSession, content: WorkMarkdownContent): { initialized: boolean; content: WorkMarkdownContent; }; export declare function readWorkOfficeMarkdownCollaboration(session: WorkOfficeCollaborationSession): WorkMarkdownContent; export declare function replaceWorkOfficeMarkdownCollaboration(session: WorkOfficeCollaborationSession, markdown: string, origin?: WorkOfficeCollaborationOrigin): boolean; export declare function createWorkOfficeMarkdownCollaborationBinding(session: WorkOfficeCollaborationSession, options?: WorkOfficeMarkdownCollaborationBindingOptions): WorkOfficeMarkdownCollaborationBinding;