/**
 * @file 代码块客户端交互
 * @module renderer/code/code
 *
 * 在预览挂载点做**事件委托**，处理 `enhancedCode` block parser 渲染出的按钮：
 *
 * | 选择器 | 行为 |
 * | ------ | ---- |
 * | `button.penna-copy-code-button` | 复制 `code[data-penna-code]` 文本 |
 * | `button.penna-code-block__expand` | 切换 `.penna-code-block__panel--collapsed` |
 *
 * 委托绑定在 mount 上，增量 reconcile 替换子节点后无需重新挂载监听。
 *
 * DOM 结构与样式由 `enhancedCode` parser + 主题 SCSS 产出，本模块不修改 HTML。
 */
/**
 * 预览区代码块交互监听器。
 *
 * 构造时注册 `click` 委托；{@link destroy} 时移除。
 */
export declare class CodeListener {
    private readonly render;
    private readonly onClickBound;
    /**
     * @param render 预览挂载点（与 {@link Renderer} 的 `mount` 相同）
     */
    constructor(render: HTMLElement);
    /** 委托入口：匹配展开或复制按钮后分发 */
    private onClick;
    /**
     * 复制同 panel 内 `code[data-penna-code]` 的 `textContent`。
     *
     * 成功后切换 `is-copied` 与 `aria-label`，2s 后恢复。
     */
    handleCopy(btn: HTMLButtonElement): Promise<void>;
    /**
     * 切换可折叠代码块 `.penna-code-block__panel--collapsed`。
     *
     * 同步 `aria-expanded` 与 `.penna-code-block__expand-label` 文案。
     */
    handleExpand(btn: HTMLButtonElement): void;
    /** 移除 mount 上的 click 委托 */
    destroy(): void;
}
//# sourceMappingURL=code.d.ts.map