import type { ToolbarButtonItem, ToolbarContext, ToolbarItem, ToolbarMenuItem } from "../../editor/toolbar/ToolbarItem";
/**
 * 创建并初始化一个普通按钮的 DOM 实例。
 * 附加 `data-toolbar-id` 用于事件委托中的快速回溯定位。
 *
 * @param item 按钮的配置项。
 * @param inMenu 按钮是否位于菜单面板内。
 * @returns 初始化后的按钮元素。
 */
export declare function renderButton(item: ToolbarButtonItem, inMenu: boolean): HTMLButtonElement;
/**
 * 创建并组装一个下拉菜单（Menu）DOM 树。
 * 支持嵌套二级菜单（Submenu）结构。
 *
 * @param item 菜单的配置项及其子项目。
 * @param nested 菜单是否作为子菜单渲染。
 * @returns 组装完成的菜单容器元素。
 */
export declare function renderMenu(item: ToolbarMenuItem, nested: boolean): HTMLDivElement;
/**
 * 路由并分发单个工具栏项的 DOM 节点追加逻辑。
 *
 * @param parent 要追加工具栏节点的父元素。
 * @param item 待渲染的工具栏项目。
 * @param inMenu 项目是否位于菜单面板内。
 */
export declare function appendToolbarItem(parent: HTMLElement, item: ToolbarItem, inMenu: boolean): void;
/**
 * 拼装专属于移动端/小屏幕下的“更多”折叠下拉菜单。
 *
 * @param items 需要收纳到“更多”菜单中的项目。
 * @returns 包含溢出项目的菜单元素。
 */
export declare function renderOverflowMenu(items: ToolbarItem[]): HTMLDivElement;
/**
 * 工具栏主渲染引擎。
 *
 * 设计意图：
 * 1. 采用**全局事件委托**（Event Delegation）代理所有工具栏内部按钮点击，消除大量的局部事件监听器绑定。
 * 2. 建立 O(1) 的 Map 映射快速查找，避免在事件流中频繁进行 DOM 到树节点的递归搜索。
 * 3. 实现了健全的页面级点击收起（`onDocClick`）机制，点击菜单外部区域时自动闭合状态。
 * 4. 彻底解耦的生命周期管理：返回一个销毁函数（Cleanup），可安全注销全局/局部事件监听，防止内存泄露。
 *
 * @param mount 承载工具栏的 DOM 元素。
 * @param items 要渲染的顶层工具栏项目。
 * @param ctx 工具栏项目执行命令时使用的上下文。
 * @param onClick 命令执行后的可选旁路回调（不得替代 \`ctx.execute\`）。
 * @returns 注销事件监听并清空工具栏的清理函数。
 */
export declare function renderToolbar(mount: HTMLElement, items: ToolbarItem[], ctx: ToolbarContext, onClick?: (id: string, ctx: ToolbarContext) => void): () => void;
//# sourceMappingURL=renderToolbar.d.ts.map