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 标签（<tag>...</tag>）：标签内部的 \n\n 不作为分隔符
 *
 * @param md - 要切分的 markdown 字符串
 * @returns 切分后的 markdown 块数组
 */
export declare function splitMarkdownIntoBlocks(md: string): string[];
