import { default as MarkdownIt } from 'markdown-it';
/**
 * 自定义代码块的插件，因为 MarkdownIt 默认最外层是 pre，限制了扩展性，所以本项目替换了它。
 * https://github.com/markdown-it/markdown-it/blob/13.0.2/lib/renderer.js#L58
 *
 * # 标签的选择
 * [HTML 标准文档](https://html.spec.whatwg.org/#the-code-element)中的第二个
 * 示例使用了 pre 和 code 两个标签包裹代码块，这被许多人视为推荐的做法。
 *
 * 但实际上文档中本没有 Recommend 或 Should 等字眼，它仅是一个示例而已。
 * [这里也有讨论](https://stackoverflow.com/q/11742907/7065321)
 *
 * 为了性能和可调试性，应当减少 DOM 中元素的层级，所以这里选择仅用一个标签。
 * 考虑到存在非代码，但又要格式化的文本，选择 pre 比 code 更通用，GitHub 也是如此。
 */
export default function (md: MarkdownIt): void;
/**
 * 实现点击按钮复制代码。考虑到代码一行可能很长，以及手机端框选困难，这个功能还是要有的。
 *
 * @param root 由 fencePlugin 渲染出的元素。
 */
export declare function activateCopyButtons(root: HTMLElement): void;
