/** * SnapshotDiff Value Object * Represents the differences between two config snapshots */ import { FileDiff, type FileDiffData } from './FileDiff.js'; export interface SnapshotDiffData { baseSnapshotId: string; compareSnapshotId: string; changes: FileDiff[]; } export interface SnapshotDiffSummary { added: number; modified: number; deleted: number; } export declare class SnapshotDiff { private readonly _baseSnapshotId; private readonly _compareSnapshotId; private readonly _changes; private constructor(); get baseSnapshotId(): string; get compareSnapshotId(): string; get changes(): readonly FileDiff[]; /** * Computed summary of changes by status */ get summary(): SnapshotDiffSummary; /** * Whether there are any changes */ get hasChanges(): boolean; /** * Create a validated SnapshotDiff */ static create(data: SnapshotDiffData): SnapshotDiff; toJSON(): { baseSnapshotId: string; compareSnapshotId: string; changes: FileDiffData[]; summary: SnapshotDiffSummary; hasChanges: boolean; }; } //# sourceMappingURL=SnapshotDiff.d.ts.map