export declare class CommitCache { private readonly cacheDir; private cachedHashes; constructor(); /** * Get cache file path for a source. * * Phase 2 Update: Changed from repo name to sourceId for multi-source support. * sourceId is a UUID and is filesystem-safe, so no sanitization needed. * * Note: This is a breaking change for cache format but acceptable since * the cache rebuilds automatically on first extract with the new format. * Old repo-name cache files will be ignored. * * @param sourceId - UUID of the Source record * @returns Path to cache file for this source */ private getCachePath; /** * Initialize cache directory if it doesn't exist */ init(): Promise; /** * Add commit hashes to cache for a source. * * Phase 2 Update: Changed from repoName to sourceId for multi-source support. * * @param sourceId - UUID of the Source record * @param commitHashes - Array of commit hash strings to cache * @throws Error if cache write fails */ add(sourceId: string, commitHashes: string[]): Promise; /** * Check if a commit hash exists in cache for a source. * * Phase 2 Update: Changed from repoName to sourceId for multi-source support. * * @param sourceId - UUID of the Source record * @param commitHash - Commit hash to check * @returns true if commit is cached, false otherwise */ has(sourceId: string, commitHash: string): Promise; /** * List all cached commit hashes for a source. * * Phase 2 Update: Changed from repoName to sourceId for multi-source support. * * @param sourceId - UUID of the Source record * @returns Array of commit hashes in cache for this source */ list(sourceId: string): Promise; /** * Clear cache for a specific source or all sources. * * Phase 2 Update: Changed from repoName to sourceId for multi-source support. * * @param sourceId - UUID of the Source record to clear, or undefined to clear all * @throws Error if cache clearing fails */ clear(sourceId?: string): Promise; /** * Get statistics about the cache. * * Phase 2 Update: Changed from repoName to sourceId for multi-source support. * * @param sourceId - UUID of specific source, or undefined for all sources * @returns Statistics about cached commits */ getStats(sourceId?: string): Promise<{ sources: number; commits: number; sourceStats?: { [key: string]: number; }; }>; } //# sourceMappingURL=commits.d.ts.map