/**
 * ECharts 图表命令。
 * `echarts` 弹窗，编辑 JSON 与可选 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 EchartsDialogResult {
    json: string;
    maxWidth?: string;
}
/**
 * 将弹窗数据转为 echarts 围栏 Markdown。
 * @param data - 已校验的 ECharts 配置和可选宽度
 * @returns 可插入编辑器的 echarts 围栏
 */
export declare function echartsMarkdown(data: EchartsDialogResult): string;
/**
 * 校验 ECharts 配置是否为有效 JSON。
 * @param json - 待校验的配置文本
 * @returns 有效时返回 null，否则返回面向用户的错误信息
 */
export declare function validateEchartsJson(json: string): string | null;
/**
 * 将共享 ECharts 表单挂载到弹窗宿主。
 * @param host - 弹窗内容挂载元素
 * @param props - 弹窗预填充属性
 * @param callbacks - 提交或取消的回调
 * @returns 关闭弹窗时调用的清理函数
 */
export declare function renderEchartsDialog(host: HTMLElement, props: Record<string, unknown>, callbacks: DialogCallbacks<EchartsDialogResult>): () => void;
export declare class EchartsCommand implements Command, DialogCapableCommand {
    readonly dialogType: DialogType;
    renderDialog: typeof renderEchartsDialog;
    /**
     * 打开 ECharts 配置弹窗并插入图表。
     * @param view - 要修改的 CodeMirror 编辑器实例
     * @param _payload - 未使用的命令参数
     * @param ctx - 提供事件总线的命令上下文
     * @returns 图表插入结果
     */
    execute(view: EditorView, _payload: unknown, ctx: CommandContext): boolean | Promise<boolean>;
}
export declare const echartsCommand: EchartsCommand;
//# sourceMappingURL=EchartsCommand.d.ts.map