import type { Editor, Extensions } from '@tiptap/core'; import type { WorkSlideElement, WorkSlideTextRun } from '../work-types'; export interface PresentationTextValue { text: string; textRuns?: WorkSlideTextRun[]; } export interface PresentationTextEditorProps { autoFocus?: boolean; element: WorkSlideElement; onChange: (value: PresentationTextValue) => void; onEditorChange?: (editor: Editor | null) => void; onExitEditing?: () => void; onSelectionChange?: () => void; } export declare function PresentationTextEditor({ autoFocus, element, onChange, onEditorChange, onExitEditing, onSelectionChange, }: PresentationTextEditorProps): import("react").JSX.Element | null; /** * Keep delayed first-open focus from overriding a deliberate focus move that * happened while the rich-text editor was being created. The document body is * treated as an unfocused baseline so opening from a non-focusable surface can * still enter the editor normally. */ export declare function presentationFocusOwnerIsUnchanged(initialFocusTarget: HTMLElement | null): boolean; export declare function createPresentationTextEditorExtensions(placeholder?: string): Extensions; export declare function presentationTextElementHtml(element: WorkSlideElement): string; export declare function presentationTextValue(editor: Editor, element: WorkSlideElement): PresentationTextValue; export declare function presentationTextToolbarState(editor: Editor, element: WorkSlideElement): WorkSlideElement; export declare function applyPresentationTextFormatting(editor: Editor, patch: Partial, options?: { restoreFocus?: boolean; }): boolean;