/** * Main indexer orchestrator */ import type { CodeParser } from '../parser/index.js'; import type { EmbeddingProvider } from '../embeddings/base.js'; import type { Storage } from '../storage/index.js'; import type { IndexingOptions, IndexerState } from './types.js'; export interface IndexerConfig { basePath: string; collectionName: string; parser: CodeParser; embedder: EmbeddingProvider; storage: Storage; options?: IndexingOptions; watchFiles?: boolean; watchBranches?: boolean; respectGitignore?: boolean; useMcpignore?: boolean; useOptimizations?: boolean; } /** * Main indexer orchestrator */ export declare class Indexer { private config; private fileWatcher; private branchWatcher; private queue; private processor; private fileHashCache; private useOptimizations; private state; constructor(config: IndexerConfig); /** * Initialize and start initial indexing */ initialize(): Promise; /** * Index all files in the codebase */ indexAll(options?: IndexingOptions): Promise; /** * Process indexing queue */ private processQueue; /** * Discover all files in the codebase */ private discoverFiles; /** * Filter out files that haven't changed */ private filterUnchangedFiles; /** * Start file watcher */ private startFileWatcher; /** * Start branch watcher */ private startBranchWatcher; /** * Handle file change event */ private handleFileChange; /** * Handle branch change */ private handleBranchChange; /** * Update statistics */ private updateStats; /** * Get current state */ getState(): IndexerState; /** * Stop indexer */ stop(): Promise; } export * from './types.js'; //# sourceMappingURL=index.d.ts.map