/**
 * 编辑命令注册表与统一入口。
 *
 * - {@link COMMANDS} — 命令名 → 实例映射，Toolbar / 快捷键 / `penna.runCommand()` 均通过此表调度
 * - {@link runCommand} — 执行命令的唯一入口
 * - {@link DIALOG_RENDERERS} — 从带弹窗命令收集的渲染器，供 DialogHost 使用
 */
import type { EditorView } from "@codemirror/view";
import type { Command } from "../../editor/commands/Command";
import { type DialogRenderer } from "../../editor/commands/DialogCommand";
import type { DialogType } from "../../editor/commands/dialogTypes.js";
export type { EditorCommand } from "../../editor/commands/Command";
/**
 * 内置命令注册表。
 * 键名与工具栏项 `id` 一致，Toolbar / 快捷键 / `penna.runCommand()` 均通过此表调度。
 */
export declare const COMMANDS: Record<string, Command>;
/** 从 {@link COMMANDS} 收集的弹窗渲染器，键为 {@link DialogType}。 */
export declare const DIALOG_RENDERERS: Partial<Record<DialogType, DialogRenderer>>;
/** 返回所有已注册命令名列表。 */
export declare function listCommands(): string[];
/**
 * 执行编辑命令。
 * @param view - CodeMirror 编辑器实例
 * @param command - 命令名，须存在于 {@link COMMANDS}
 * @param payload - 可选参数（如 insertText 的文本、setTheme 的 id）
 * @param ctx - 上下文；弹窗命令须传入 `{ eventBus }`，主题命令须传入 `{ theme }`
 * @returns 命令不存在返回 false；弹窗命令可能返回 Promise
 */
export declare function runCommand(view: EditorView, command: string, payload?: unknown, ctx?: import("./Command.js").CommandContext): boolean | Promise<boolean>;
//# sourceMappingURL=index.d.ts.map