/** * Churn Extractor — Spec 13 R1. * * Extracts git churn data (file-level and function-level) from a repository * and writes it into the code index database. All git access is read-only and * degrades gracefully when no repository exists. * * File churn: `git log --numstat` aggregates commit counts, line adds/deletes, * and author stats per file. * * Function churn: `git log -p` hunks are mapped to function line spans stored * in the `functions` table. A function is attributed churn when a hunk overlaps * its line range. */ import type { ChurnConfig } from '../types.js'; export interface ChurnResult { fileCount: number; functionCount: number; durationMs: number; } export declare const DEFAULT_CHURN_CONFIG: ChurnConfig; /** * Extract git churn data and write it into the database. * Degrades gracefully when no git repo exists — writes empty tables. * * @param rawDb The underlying better-sqlite3 database handle. * @param targetPath Absolute path to the repository root. * @param config Optional churn config (window, etc.). * @returns Counts and timing for evidence bundles. */ export declare function extractChurn(rawDb: any, targetPath: string, config?: ChurnConfig): ChurnResult; //# sourceMappingURL=churnExtractor.d.ts.map