/**
 * Code Evolution Graphs
 *
 * Track and visualize codebase evolution:
 * - Lines of code over time
 * - File count trends
 * - Complexity evolution
 * - Language distribution changes
 */
export interface EvolutionDataPoint {
    date: Date;
    commit: string;
    linesOfCode: number;
    fileCount: number;
    languageBreakdown: Record<string, number>;
}
export interface EvolutionReport {
    dataPoints: EvolutionDataPoint[];
    summary: {
        startDate: Date;
        endDate: Date;
        startLoc: number;
        endLoc: number;
        locChange: number;
        locChangePercent: number;
        startFiles: number;
        endFiles: number;
        fileChange: number;
        avgCommitsPerDay: number;
    };
    trends: {
        locTrend: 'growing' | 'shrinking' | 'stable';
        fileTrend: 'growing' | 'shrinking' | 'stable';
        velocity: number;
    };
    generatedAt: Date;
}
export interface EvolutionOptions {
    /** Repository path */
    repoPath?: string;
    /** Number of data points to collect */
    dataPoints?: number;
    /** Days to analyze */
    days?: number;
    /** File extensions to include */
    extensions?: string[];
    /** Directories to exclude */
    exclude?: string[];
}
/**
 * Generate code evolution report
 */
export declare function generateEvolutionReport(options?: EvolutionOptions): EvolutionReport;
/**
 * Format evolution report for terminal display
 */
export declare function formatEvolutionReport(report: EvolutionReport): string;
/**
 * Export evolution data as JSON
 */
export declare function exportEvolutionData(report: EvolutionReport): string;
/**
 * Export evolution data as CSV
 */
export declare function exportEvolutionCSV(report: EvolutionReport): string;
export default generateEvolutionReport;
