/**
 * Mermaid 图表命令。
 * `mermaid` 弹窗，编辑源码与可选 max-width。
 */
import type { EditorView } from "@codemirror/view";
import { Command, type CommandContext } from "../../../editor/commands/Command";
import type { DialogCallbacks, DialogCapableCommand } from "../../../editor/commands/DialogCommand";
import type { DialogType } from "../../../editor/commands/dialogTypes";
export interface MermaidDialogResult {
    source: string;
    maxWidth?: string;
}
/**
 * 将弹窗数据转为 mermaid 围栏 Markdown。
 * @param data - 已校验的 Mermaid 源码和可选宽度
 * @returns 可插入编辑器的 mermaid 围栏
 */
export declare function mermaidMarkdown(data: MermaidDialogResult): string;
/**
 * 将共享 Mermaid 表单挂载到弹窗宿主。
 * @param host - 弹窗内容挂载元素
 * @param props - 弹窗预填充属性
 * @param callbacks - 提交或取消的回调
 * @returns 关闭弹窗时调用的清理函数
 */
export declare function renderMermaidDialog(host: HTMLElement, props: Record<string, unknown>, callbacks: DialogCallbacks<MermaidDialogResult>): () => void;
export declare class MermaidCommand implements Command, DialogCapableCommand {
    readonly dialogType: DialogType;
    renderDialog: typeof renderMermaidDialog;
    /**
     * 打开 Mermaid 配置弹窗并插入图表。
     * @param view - 要修改的 CodeMirror 编辑器实例
     * @param _payload - 未使用的命令参数
     * @param ctx - 提供事件总线的命令上下文
     * @returns 图表插入结果
     */
    execute(view: EditorView, _payload: unknown, ctx: CommandContext): boolean | Promise<boolean>;
}
export declare const mermaidCommand: MermaidCommand;
//# sourceMappingURL=MermaidCommand.d.ts.map