/** * BackupRetentionPolicy Value Object * Defines how many backups to keep and for how long */ export interface BackupRetentionPolicyData { maxCount?: number; maxAgeDays?: number; } export declare class BackupRetentionPolicy { private readonly _maxCount; private readonly _maxAgeDays; private constructor(); get maxCount(): number | undefined; get maxAgeDays(): number | undefined; /** * Create a BackupRetentionPolicy with validation */ static create(data: BackupRetentionPolicyData): BackupRetentionPolicy; /** * Create default retention policy: 10 backups, 30 days */ static default(): BackupRetentionPolicy; /** * Determine if pruning is needed based on current backup state */ shouldPrune(backupCount: number, oldestBackupDate: Date): boolean; toJSON(): BackupRetentionPolicyData; equals(other: BackupRetentionPolicy): boolean; } //# sourceMappingURL=BackupRetentionPolicy.d.ts.map