export type BackupConfig = { enableEncryptedBackup: boolean; retentionDays: number; backupIntervalHours: number; }; export type BackupMetadata = { backupId: string; timestamp: Date; keyCount: number; backupSize: number; checksum: string; encrypted: boolean; }; /** * Encrypted backup and recovery for key material * Phase 3: Business continuity and disaster recovery */ export declare class BackupRecoveryManager { private readonly config; private readonly backups; private lastBackupTime; constructor(config: BackupConfig); /** * Create encrypted backup */ createBackup(keys: Array<{ keyId: string; material: Uint8Array; }>): Promise; /** * Get backup metadata */ getBackup(backupId: string): BackupMetadata | undefined; /** * List all backups */ listBackups(): BackupMetadata[]; /** * Verify backup integrity */ verifyBackupIntegrity(backupId: string, expectedChecksum: string): Promise; /** * Restore from backup */ restoreFromBackup(backupId: string): Promise>; /** * Delete backup */ deleteBackup(backupId: string): boolean; /** * Get last backup time */ getLastBackupTime(): Date | null; /** * Check if backup is needed */ isBackupNeeded(): boolean; /** * Clean up expired backups */ cleanupExpiredBackups(): number; /** * Get backup statistics */ getBackupStats(): { totalBackups: number; totalBackupSize: number; oldestBackup: Date | null; newestBackup: Date | null; }; } //# sourceMappingURL=backup-recovery.d.ts.map