import type { ILLMProvider } from "../llm/ILLMProvider.ts"; import type { IVectorStore } from "../memory/VectorStore.ts"; import type { ChunkStrategy, HierarchicalChunkStrategy } from "./ChunkStrategy.ts"; import { TreeSitterParser } from "./parsers/TreeSitterParser.ts"; export interface IndexOptions { chunkStrategy?: ChunkStrategy; hierarchicalChunkStrategy?: HierarchicalChunkStrategy; embedder: ILLMProvider; vectorStore: IVectorStore; chunkSize?: number; chunkOverlap?: number; parentStorePath?: string; } export interface IndexStats { totalDocuments: number; totalChunks: number; indexedExtensions: string[]; } export declare class Indexer { private chunkStrategy; private hierarchicalStrategy?; private embedder; private vectorStore; private totalDocuments; private totalChunks; private indexedExtensions; private codeParser?; private parentStorePath; constructor(options: IndexOptions); setParser(parser: TreeSitterParser): void; indexDocument(filePath: string, content: string): Promise; private indexWithHierarchy; private storeParents; private indexWithParser; indexDirectory(dirPath: string, filter?: (filePath: string) => boolean): Promise; stats(): IndexStats; } //# sourceMappingURL=Indexer.d.ts.map