/**
 * 徽章（Badge）命令组。
 * 有选区时直接包裹 `[text]{.variant}`；无选区时打开表单弹窗。
 */
import type { EditorView } from "@codemirror/view";
import { Command, type CommandContext } from "../../../editor/commands/Command";
import type { DialogCapableCommand } from "../../../editor/commands/DialogCommand";
import type { DialogType } from "../../../editor/commands/dialogTypes";
/** 徽章样式变体。 */
export type BadgeVariant = "note" | "tip" | "important" | "warning" | "caution" | "danger";
/** 徽章相对行内位置（默认 middle 可省略）。 */
export type BadgePosition = "middle" | "top" | "bottom";
/** `badge` 弹窗提交结果。 */
export interface BadgeDialogResult {
    text: string;
    variant: BadgeVariant;
    position?: BadgePosition;
}
/**
 * `badge` — 插入行内徽章 `[文本]{.variant}` 或 `{.variant top}`。
 */
export declare class BadgeCommand implements Command, DialogCapableCommand {
    readonly dialogType: DialogType;
    renderDialog: (host: HTMLElement, props: Record<string, unknown>, callbacks: import("../../../editor/commands/DialogCommand").DialogCallbacks<BadgeDialogResult>) => () => void;
    /**
     * 执行徽章插入。
     * @param view - 要修改的 CodeMirror 编辑器实例
     * @param payload - 可选的预设徽章变体
     * @param ctx - 用于打开无选区表单的命令上下文
     * @returns 是否插入成功；无选区时等待弹窗结果
     */
    execute(view: EditorView, payload: unknown, ctx: CommandContext): boolean | Promise<boolean>;
    /**
     * 有选区时直接包裹文本；否则请求表单并插入徽章。
     * @param view - 要修改的 CodeMirror 编辑器实例
     * @param ctx - 可选的事件总线上下文
     * @param payload - 可选的预设徽章变体
     * @returns 取消弹窗或缺少事件总线时返回 false
     */
    static applyBadge(view: EditorView, ctx?: CommandContext, payload?: unknown): Promise<boolean>;
}
/** `badge` 命令实例 */
export declare const badgeCommand: BadgeCommand;
/** @deprecated 兼容 API，请使用 {@link BadgeCommand.applyBadge} */
export declare const applyBadge: typeof BadgeCommand.applyBadge;
//# sourceMappingURL=BadgeCommand.d.ts.map