export interface Chunk { content: string; metadata: Record; startPos: number; endPos: number; } export interface ChunkOptions { chunkSize?: number; overlap?: number; } export interface CodeEntityStub { type: string; name: string; startLine: number; endLine: number; } export interface ChunkStrategy { chunk(text: string, options?: ChunkOptions): Chunk[]; } export interface ParentChunk { id: string; content: string; metadata: { filePath: string; startLine: number; endLine: number; }; children: string[]; } export interface ChildChunk { id: string; content: string; parentId: string; parentMetadata: ParentChunk['metadata']; embeddingContent: string; } export interface HierarchicalChunkStrategy { chunk(text: string, metadata: { filePath: string; startLine: number; endLine: number; }, options?: ChunkOptions): { parents: ParentChunk[]; children: ChildChunk[]; }; } export declare class FixedSizeChunkStrategy implements ChunkStrategy { chunk(text: string, options?: ChunkOptions): Chunk[]; } export declare class MarkdownHierarchicalChunkStrategy implements HierarchicalChunkStrategy { private childChunker; constructor(); chunk(text: string, metadata: { filePath: string; startLine: number; endLine: number; }, options?: ChunkOptions): { parents: ParentChunk[]; children: ChildChunk[]; }; private parseSections; } export declare class CodeHierarchicalChunkStrategy implements HierarchicalChunkStrategy { private childChunker; constructor(); chunk(text: string, metadata: { filePath: string; startLine: number; endLine: number; }, options?: ChunkOptions): { parents: ParentChunk[]; children: ChildChunk[]; }; private splitCodeBlocks; private isTopLevelDeclaration; } //# sourceMappingURL=ChunkStrategy.d.ts.map