import * as markmap from "markmap-view"; import type { IMarkmapOptions } from "markmap-view"; import { type ITransformPlugin, Transformer } from "markmap-lib"; export interface IMermaidTransformerOptions extends Array ITransformPlugin)> { } declare class MermaidTransformer extends Transformer { private currentWorkId; constructor(options?: IMermaidTransformerOptions); /** * 设置当前工作 ID(用于命名空间隔离) * @param workId 工作 ID */ setWorkId(workId: string): void; transform(content: string, fallbackParserOptions?: any): import("markmap-lib").ITransformResult; /** * 将 markdown 内容中的 katex 公式转换为普通文本 * 处理 $...$ 和 $$...$$ 格式的公式 * 由于 Safari 对 katex 的兼容性问题,将公式转换为普通文本显示 * @param content markdown 内容 * @returns 处理后的内容 */ private convertKatexToText; /** * 处理转换结果中的 katex HTML,将其转换为普通文本 * 递归处理节点树,查找包含 katex 的内容并转换 * 由于 Safari 对 katex 的兼容性问题,将 katex HTML 转换为普通文本显示 * @param node markmap 节点 */ private processKatexInRoot; /** * 等待 markmap foreignObject 内所有图片加载完成 * 用于在调用 fit() 之前确保所有图片都已加载,以便正确计算尺寸 * @param svgElement SVG 元素 * @param timeout 超时时间(毫秒),默认 10 秒 * @returns Promise 当所有图片加载完成时 resolve */ static waitForImagesInForeignObjects(svgElement: SVGSVGElement, timeout?: number): Promise; } export declare const transformer: MermaidTransformer; declare const Markmap: typeof markmap.Markmap; export { IMarkmapOptions, markmap, Transformer, Markmap, MermaidTransformer };