/**
 * 表格插入命令。
 * 使用自定义 10×10 网格弹窗选择行列（非表单），生成 GFM 表格骨架。
 */
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";
/** `table` 弹窗提交结果：行数与列数。 */
export interface TableDialogResult {
    rows: number;
    cols: number;
}
/**
 * 构建用于选择表格行列的交互网格。
 * @param host - 弹窗内容挂载元素
 * @param _props - 未使用的弹窗预填充属性
 * @param callbacks - 选定尺寸或取消时的回调
 * @returns 卸载鼠标监听器并移除表单的清理函数
 */
declare function renderTableDialog(host: HTMLElement, _props: Record<string, unknown>, callbacks: DialogCallbacks<TableDialogResult>): () => void;
/**
 * `table` — 打开网格选择器插入空表格。
 * 至少 2 行（表头 + 分隔行），列数 ≥ 1。
 */
export declare class TableCommand implements Command, DialogCapableCommand {
    readonly dialogType: DialogType;
    renderDialog: typeof renderTableDialog;
    /**
     * 请求表格尺寸并插入限定在 10×10 内的表格。
     * @param view - 要修改的 CodeMirror 编辑器实例
     * @param _payload - 未使用的命令参数
     * @param ctx - 提供事件总线的命令上下文
     * @returns 用户取消或缺少事件总线时返回 false
     */
    execute(view: EditorView, _payload: unknown, ctx: CommandContext): Promise<boolean>;
}
/** `table` 命令实例 */
export declare const tableCommand: TableCommand;
export {};
//# sourceMappingURL=TableCommand.d.ts.map