import React from 'react'; import { MarkdownEditorInstance, MarkdownEditorProps } from '../types'; /** * Markdown 编辑器组件的属性接口 * * 扩展了基础的 MarkdownEditorProps,添加了编辑器特定的配置 */ export type MEditorProps = { /** 自定义元素项渲染函数 */ eleItemRender?: MarkdownEditorProps['eleItemRender']; /** 自定义叶子节点渲染函数 */ leafRender?: MarkdownEditorProps['leafRender']; /** 内容变化时的回调函数 */ onChange?: MarkdownEditorProps['onChange']; /** 编辑器实例对象 */ instance: MarkdownEditorInstance; /** 自定义CSS类名 */ className?: string; /** 评论相关配置 */ comment?: MarkdownEditorProps['comment']; /** CSS前缀类名 */ prefixCls?: string; /** 是否为报告模式 */ reportMode?: MarkdownEditorProps['reportMode']; /** 输入框占位符文本 */ placeholder?: string; } & MarkdownEditorProps; /** * SlateMarkdownEditor 组件 - Slate Markdown编辑器组件 * * 基于Slate.js的Markdown编辑器,支持丰富的编辑功能,包括文本编辑、表格、代码块、媒体插入、链接等。 * 通过MobX进行状态管理,支持多种编辑器事件和操作。 * * @component * @description 基于Slate.js的Markdown编辑器组件 * @param {MEditorProps} props - 编辑器属性 * @param {Function} [props.eleItemRender] - 自定义元素渲染函数 * @param {Function} [props.leafRender] - 自定义叶子节点渲染函数 * @param {Function} [props.onChange] - 内容变化回调 * @param {MarkdownEditorInstance} props.instance - 编辑器实例 * @param {string} [props.className] - 自定义CSS类名 * @param {CommentDataType} [props.comment] - 评论数据 * @param {string} [props.prefixCls] - 前缀类名 * @param {boolean} [props.reportMode] - 是否为报告模式 * @param {string} [props.placeholder] - 占位符文本 * * @example * ```tsx * console.log('内容变化:', value)} * placeholder="请输入Markdown内容..." * reportMode={false} * /> * ``` * * @returns {React.ReactElement} 渲染的Markdown编辑器组件 * * @remarks * - 基于Slate.js实现 * - 支持丰富的Markdown语法 * - 提供自定义渲染功能 * - 支持插件系统 * - 集成状态管理 * - 支持键盘快捷键 * - 提供粘贴处理 * - 支持错误边界 * - 响应式布局 */ export declare const SlateMarkdownEditor: (props: MEditorProps) => React.JSX.Element;