import { ChromaCommitIndex } from './chroma-index.js'; import { type GitMemoryConfig, type IndexStats } from './types.js'; export declare class GitMemoryIndexer { private git; private repoName; private chromaIndex; private contextStore; private userId; private constructor(); /** Async factory — initialises git, ChromaDB (Layer 1), and ContextStore (Layer 2). */ static create(config: GitMemoryConfig): Promise; /** Convenience factory using environment variables. */ static fromEnv(): Promise; /** * Index a single commit by hash. * Matches Python index_commit() exactly: * 1. Get commit details * 2. isRelevant() check — skip if false (unless force) * 3. Build metadata + document * 4. Layer 1: chromaIndex.upsertCommit() — returns false if duplicate * 5. If Layer 1 returned false and !force → return false * 6. Layer 2: contextStore.addCommit() — no-throw * 7. Return true */ indexCommit(hash: string, force?: boolean): Promise; /** * Index all commits on a branch. * Matches Python index_all() exactly: * - Iterates commits, skips irrelevant, logs progress every 100 * - Returns IndexStats */ indexAll(params?: { branch?: string; limit?: number; dryRun?: boolean; }): Promise; /** * Get full commit details via git show + diff-tree. * Uses git show for author/date/message, diff-tree for exact file list. */ private getCommitDetails; get name(): string; get chroma(): ChromaCommitIndex; } //# sourceMappingURL=indexer.d.ts.map