/**
 * History Analyzer
 *
 * Analyzes project history from multiple sources:
 * - Git commit history
 * - Increment metadata (completed, abandoned, archived)
 * - Feature creation/completion dates
 * - Release tags
 *
 * Produces a comprehensive timeline of project evolution.
 */
import { Logger } from '../../../utils/logger.js';
import type { SpecsCatalog } from './spec-loader.js';
export interface TimelineEvent {
    date: string;
    type: EventType;
    title: string;
    description: string;
    relatedEntities: string[];
    metadata?: Record<string, any>;
}
export type EventType = 'feature_started' | 'feature_completed' | 'increment_started' | 'increment_completed' | 'increment_abandoned' | 'release' | 'milestone' | 'team_change' | 'config_change' | 'incident';
export interface ProjectTimeline {
    projectName: string;
    startDate: string;
    currentVersion: string;
    events: TimelineEvent[];
    milestones: Milestone[];
    releases: Release[];
}
export interface Milestone {
    name: string;
    date: string;
    description: string;
    features: string[];
}
export interface Release {
    version: string;
    date: string;
    changelog: string[];
    commits: number;
}
export interface HistoryAnalyzerOptions {
    projectPath: string;
    logger?: Logger;
}
/**
 * Analyzes project history to build a timeline
 */
export declare class HistoryAnalyzer {
    private projectPath;
    private logger;
    constructor(options: HistoryAnalyzerOptions);
    /**
     * Analyze all history sources and build timeline
     */
    analyze(specsCatalog: SpecsCatalog): Promise<ProjectTimeline>;
    /**
     * Analyze all increment folders for history
     */
    private analyzeIncrements;
    /**
     * Analyze feature history from specs catalog
     */
    private analyzeFeatureHistory;
    /**
     * Analyze git tags for releases
     */
    private analyzeGitReleases;
    /**
     * Analyze config.json changes from git history
     */
    private analyzeConfigHistory;
    /**
     * Derive milestones from events
     */
    private deriveMilestones;
    /**
     * Get project name from config
     */
    private getProjectName;
    /**
     * Get project start date from earliest event
     */
    private getProjectStartDate;
    /**
     * Get current version from package.json or git tag
     */
    private getCurrentVersion;
}
//# sourceMappingURL=history-analyzer.d.ts.map