import type { Editor } from '@tiptap/core'; import { type RefObject } from 'react'; import { type WorkspaceContextMenuEvent } from '../../workspace/components/workspace-context-menu'; import type { MarkdownSourceCommand, MarkdownSourceSelection } from './markdown-source-commands'; export type MarkdownViewMode = 'visual' | 'source' | 'split'; export declare function proportionalMarkdownScrollTop(sourceScrollTop: number, sourceScrollHeight: number, sourceClientHeight: number, targetScrollHeight: number, targetClientHeight: number): number; /** Publish scroll-ownership markers for a3s-test / Playwright regression gates. */ export declare function publishMarkdownSourceScrollOwnership(source: HTMLTextAreaElement): void; export declare function MarkdownWorkspace({ editor, markdown, mode, readOnly, visualReadOnly, sourceRef, sourceSelectionRequest, onSourceChange, onSourceCommand, onSourceContextMenu, onSourceIntent, onSourceRedo, onSourceSelectionChange, onSourceUndo, onVisualContextMenu, onVisualIntent, }: { editor: Editor; markdown: string; mode: MarkdownViewMode; readOnly?: boolean; visualReadOnly?: boolean; sourceRef: RefObject; sourceSelectionRequest?: MarkdownSourceSelection & { revision: number; }; onSourceChange: (markdown: string, selection: MarkdownSourceSelection, inputType?: string) => void; onSourceCommand?: (command: MarkdownSourceCommand) => boolean; onSourceContextMenu?: (event: WorkspaceContextMenuEvent) => boolean; onSourceIntent?: () => void; onSourceRedo?: () => boolean; onSourceSelectionChange?: (selection: MarkdownSourceSelection) => void; onSourceUndo?: () => boolean; onVisualContextMenu?: (event: WorkspaceContextMenuEvent) => boolean; onVisualIntent?: () => void; }): import("react").JSX.Element;