export type MultiRegionConfig = { primaryRegion: string; replicaRegions: string[]; enableAutoFailover: boolean; consistencyModel: 'strong' | 'eventual'; }; export type RegionalKeyState = { region: string; keyId: string; lastSyncedAt: Date; isSynced: boolean; latencyMs?: number; }; /** * Multi-region key replication with automatic failover * Phase 3: High availability and disaster recovery */ export declare class MultiRegionKeyManager { private readonly config; private readonly regionalStates; private readonly replicationLog; constructor(config: MultiRegionConfig); /** * Replicate key to region */ replicateKey(keyId: string, targetRegion: string): Promise; /** * Replicate key to all configured regions */ replicateKeyToAllRegions(keyId: string): Promise>; /** * Get regional key state */ getRegionalState(keyId: string, region: string): RegionalKeyState | undefined; /** * List all regions with key */ getKeyRegions(keyId: string): string[]; /** * Check replication status */ isFullyReplicated(keyId: string): boolean; /** * Promote replica region to primary */ promoteRegion(newPrimaryRegion: string): Promise; /** * Get replication health */ getReplicationHealth(): { primaryRegion: string; replicaRegions: string[]; totalKeys: number; fullyReplicatedKeys: number; replicationSuccessRate: number; }; /** * Get replication history for key */ getReplicationHistory(keyId: string): typeof this.replicationLog; /** * Mark key as out of sync */ markOutOfSync(keyId: string, region: string): void; /** * Resync key to region */ resyncKeyToRegion(keyId: string, region: string): Promise; } //# sourceMappingURL=multi-region.d.ts.map