import { Editor, Path } from 'slate';
/**
 * 获取当前编辑器中的最低层级元素节点
 */
export declare function getCurrentNodes(editor: Editor): Generator<import("slate").NodeEntry<any>, void, undefined>;
/**
 * 插入表格
 *
 * 在当前位置插入一个3x3的表格（包含表头行）。
 * 根据当前节点类型（段落、标题或列单元格）
 * 决定在何处插入表格及如何处理现有内容。
 *
 * @param editor Slate 编辑器实例
 * @param node 可选的节点，如果不提供则从编辑器获取
 */
export declare function insertTable(editor: Editor, node?: [any, Path]): void;
/**
 * 插入代码块
 *
 * 在当前位置插入代码块，并根据传入的类型设置语言和渲染模式。
 * 支持在列单元格内或普通段落/标题后插入代码块。
 *
 * @param editor Slate 编辑器实例
 * @param type 可选的代码块类型，'mermaid'表示流程图，'html'表示HTML渲染
 * @param node 可选的节点，如果不提供则从编辑器获取
 */
export declare function insertCodeBlock(editor: Editor, type?: 'mermaid' | 'html', node?: [any, Path]): void;
/**
 * 插入或移除引用块
 *
 * 如果当前节点已在引用块中，则移除引用块；
 * 否则，将当前节点转换为引用块。
 * 如果当前节点是标题，先将其转换为普通段落。
 *
 * @param editor Slate 编辑器实例
 * @param node 可选的节点，如果不提供则从编辑器获取
 */
export declare function toggleQuote(editor: Editor, node?: [any, Path]): void;
/**
 * 插入水平分割线
 *
 * 在当前位置插入水平分割线，并将光标定位到分割线后的位置。
 * 如果分割线后没有内容，则自动插入一个空段落并将光标定位到该段落。
 *
 * @param editor Slate 编辑器实例
 * @param node 可选的节点，如果不提供则从编辑器获取
 */
export declare function insertHorizontalLine(editor: Editor, node?: [any, Path]): void;
/**
 * 将标题转换为普通段落
 *
 * 如果当前节点是标题类型，将其转换为普通段落
 *
 * @param editor Slate 编辑器实例
 */
declare function convertToParagraph(editor: Editor): void;
/**
 * 设置标题级别
 *
 * 将当前段落或标题节点转换为指定级别的标题。
 * 如果级别为4，则转换为普通段落。
 *
 * @param editor Slate 编辑器实例
 * @param level 标题级别（1-3）或4（表示普通段落）
 */
export declare function setHeading(editor: Editor, level: number): void;
export { convertToParagraph };
/**
 * 创建或转换列表
 *
 * 将当前段落或标题转换为指定类型的列表。
 * 如果已经是列表项，则根据情况切换类型或解包。
 *
 * @param editor Slate 编辑器实例
 * @param mode 列表类型 'ordered'(有序列表), 'unordered'(无序列表), 'task'(任务列表)
 */
export declare function createList(editor: Editor, mode: 'ordered' | 'unordered' | 'task'): void;
/**
 * 增加标题级别（使标题变小）
 *
 * 将段落转换为4级标题，
 * 或将标题级别从1级改为普通段落，
 * 或将其他级别标题升级一级（数字变小）
 *
 * @param editor Slate 编辑器实例
 */
export declare function increaseHeadingLevel(editor: Editor): void;
/**
 * 降低标题级别（使标题变大）
 *
 * 将段落转换为1级标题，
 * 或将4级标题改为普通段落，
 * 或将其他级别标题降级一级（数字变大）
 *
 * @param editor Slate 编辑器实例
 */
export declare function decreaseHeadingLevel(editor: Editor): void;
