export type ChangelogEntryType = 'criteria_added' | 'criteria_removed' | 'status_changed' | 'scope_changed' | 'progress_updated' | 'reconciled';
export interface CriteriaDiff {
    added: string[];
    removed: string[];
    modified: {
        before: string;
        after: string;
    }[];
}
export interface SpecSnapshot {
    criteriaCount: number;
    completedCount: number;
    status: string;
}
export interface SpecChangelogEntry {
    timestamp: string;
    type: ChangelogEntryType;
    description: string;
    triggeredBy: string;
    before?: SpecSnapshot;
    after?: SpecSnapshot;
    diff?: CriteriaDiff;
}
export interface SpecChangelogData {
    specId: string;
    entries: SpecChangelogEntry[];
}
export interface AppendChangelogOptions {
    specDir: string;
    specId: string;
    entry: SpecChangelogEntry;
}
export interface ReadChangelogOptions {
    specDir: string;
    specId: string;
}
export interface SpecHistoryInput {
    specId: string;
    specDir: string;
    filter?: string;
}
export interface SpecHistoryResult {
    specId: string;
    entries: SpecChangelogEntry[];
    totalEntries: number;
    filtered: boolean;
    message: string;
}
//# sourceMappingURL=changelog.d.ts.map