/**
 * Emoji 插入命令。
 * 重构为分类选项卡 + 搜索的高级面板。
 */
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";
/** `emoji` 弹窗提交结果：shortcode 字符串。 */
export interface EmojiDialogResult {
    code: string;
}
/**
 * 构建 Emoji 分类和搜索选择面板。
 * @param host - 弹窗内容挂载元素
 * @param _props - 未使用的弹窗预填充属性
 * @param callbacks - 选择 shortcode 或取消时的回调
 * @returns 销毁面板 DOM 的清理函数
 */
declare function renderEmojiDialog(host: HTMLElement, _props: Record<string, unknown>, callbacks: DialogCallbacks<EmojiDialogResult>): () => void;
/** `emoji` — 打开 Emoji 选择器插入 shortcode（如 `:smile:`）。 */
export declare class EmojiCommand implements Command, DialogCapableCommand {
    readonly dialogType: DialogType;
    renderDialog: typeof renderEmojiDialog;
    /**
     * 打开 Emoji 选择器并插入选中的 shortcode。
     * @param view - 要修改的 CodeMirror 编辑器实例
     * @param _p - 未使用的命令参数
     * @param ctx - 提供事件总线的命令上下文
     * @returns 用户取消、未选择 Emoji 或缺少事件总线时返回 false
     */
    execute(view: EditorView, _p: unknown, ctx: CommandContext): Promise<boolean>;
}
/** `emoji` 命令实例 */
export declare const emojiCommand: EmojiCommand;
export {};
//# sourceMappingURL=EmojiCommand.d.ts.map