/** * HeadingChunker - 按标题层级分块 * * 将 Markdown 文档按标题层级分块,构建树形结构 * 每个块记录 startOffset 和 endOffset */ import type { Chunker, TextChunk } from './Chunker'; /** * 按标题层级分块的实现 */ export declare class HeadingChunker implements Chunker { /** * 将 Markdown 分块为树形结构 */ chunk(markdown: string): TextChunk[]; /** * 将树形结构扁平化 */ flatten(chunks: TextChunk[]): TextChunk[]; /** * 更新块的 endOffset * 每个块的 endOffset 应该是下一个同级或更高级块的 startOffset - 1 * 或者文档末尾 */ private updateEndOffsets; /** * 找到下一个同级或更高级的块 */ private findNextSiblingOrHigher; /** * 生成块 ID */ private generateChunkId; }