import type { Editor, Extensions } from '@tiptap/core'; import type { WorkOfficeCollaborationSession } from '../../../collaboration/office-collaboration'; import type { WorkEditorAgentRequest } from '../work-agent-request'; import type { WorkDocumentLayoutFont } from '../work-document-fonts'; import { type WorkDocumentMailMergeSource } from '../work-document-mail-merge'; import type { WorkDocumentReviewConflictEvent } from '../work-document-review-conflicts'; import { type WorkGetDocumentSelectionMenuItems } from '../work-document-selection-menu'; import type { WorkDocumentContent } from '../work-types'; import { type WorkOfficeFileAction } from './work-office-chrome'; export interface DocumentEditorProps { artifactId?: string; autoFocus?: boolean; collaboration?: WorkOfficeCollaborationSession; content: WorkDocumentContent; extensions?: Extensions; preview: boolean; defaultRibbonCollapsed?: boolean; saveStatus?: string; kernelWasmUrl?: string; layoutFonts?: readonly WorkDocumentLayoutFont[]; fileActions?: readonly WorkOfficeFileAction[]; getSelectionMenuItems?: WorkGetDocumentSelectionMenuItems; /** * Host-owned mail-merge data source for MERGEFIELD preview. Typed object * (not a raw backend name) so hosts can swap CSV/DB providers without * changing the editor contract. */ mailMergeSource?: WorkDocumentMailMergeSource | null; /** * Notifies the host when the editor updates mail-merge source state * (recipient filter). Required to enable the recipient-filter ribbon * control. */ onMailMergeSourceChange?: (source: WorkDocumentMailMergeSource) => void; /** Opens the comment task pane on first mount. Hosts use this for review. */ defaultCommentsOpen?: boolean; onChange: (content: WorkDocumentContent) => void; /** Hands the live TipTap editor to the host without binding Yjs Awareness. */ onEditorReady?: (editor: Editor) => void; onAgentRequest?: (request: WorkEditorAgentRequest) => void | Promise; onReviewConflict?: (event: WorkDocumentReviewConflictEvent) => void; } export declare function DocumentEditor(props: DocumentEditorProps): import("react").JSX.Element;