import { Elements } from '../../el'; /** * Markdown 解析缓存类 * * 使用 Map 存储 markdown 块到 schema 的映射,避免重复解析相同的 markdown 内容 */ export declare class ParseCache { private cache; /** * 从缓存中获取解析结果 * * @param md - markdown 字符串 * @returns 如果缓存中存在则返回解析结果,否则返回 null */ get(md: string): Elements[] | null; /** * 将解析结果存入缓存 * * @param md - markdown 字符串 * @param schema - 解析后的 schema 数组 */ set(md: string, schema: Elements[]): void; /** * 检查缓存中是否存在指定的 markdown * * @param md - markdown 字符串 * @returns 是否存在 */ has(md: string): boolean; /** * 清空缓存 */ clear(): void; /** * 获取缓存大小 * * @returns 缓存中存储的条目数 */ size(): number; } /** * 按 \n\n 切分 markdown,但保护不应被切分的结构 * * 切分规则: * 1. 按 \n\n(双换行)切分 markdown * 2. 保护代码块(```code```):代码块内部的 \n\n 不作为分隔符 * 3. 保护 HTML 注释():注释内部的 \n\n 不作为分隔符 * 4. 保护 HTML 标签(...):标签内部的 \n\n 不作为分隔符 * * @param md - 要切分的 markdown 字符串 * @returns 切分后的 markdown 块数组 */ export declare function splitMarkdownIntoBlocks(md: string): string[];