/** * Universal Data Adapter * Cloud-agnostic data access layer for CBD Universal Database * Provides unified interface for AWS, Azure, GCP, and Local operations */ import { CloudProvider } from './IntelligentCloudSelector.js'; import { MultiCloudConfiguration } from './MultiCloudConfiguration.js'; export interface UniversalDocument { id?: string; collection: string; data: Record; metadata?: Record; timestamp?: Date; } export interface UniversalQuery { collection: string; filter?: Record; projection?: Record; sort?: Record; limit?: number; skip?: number; } export interface UniversalResult { documents: UniversalDocument[]; count: number; hasMore: boolean; cursor?: string; } export interface OperationResult { success: boolean; result?: any; error?: string; cloud: CloudProvider; latency: number; cost?: number; } export interface CloudAdapterMetrics { operationsCount: number; averageLatency: number; errorRate: number; uptime: number; lastOperation: Date; } /** * Base Cloud Adapter Interface */ export declare abstract class BaseCloudAdapter { protected config: MultiCloudConfiguration; protected metrics: CloudAdapterMetrics; constructor(config: MultiCloudConfiguration); abstract create(document: UniversalDocument): Promise; abstract read(query: UniversalQuery): Promise; abstract update(id: string, data: Partial): Promise; abstract delete(id: string): Promise; abstract healthCheck(): Promise; getMetrics(): Promise; protected updateMetrics(latency: number, success: boolean): void; } /** * AWS Data Adapter */ export declare class AWSDataAdapter extends BaseCloudAdapter { create(document: UniversalDocument): Promise; read(query: UniversalQuery): Promise; update(id: string, data: Partial): Promise; delete(id: string): Promise; healthCheck(): Promise; } /** * Azure Data Adapter */ export declare class AzureDataAdapter extends BaseCloudAdapter { create(document: UniversalDocument): Promise; read(query: UniversalQuery): Promise; update(id: string, data: Partial): Promise; delete(id: string): Promise; healthCheck(): Promise; } /** * GCP Data Adapter */ export declare class GCPDataAdapter extends BaseCloudAdapter { create(document: UniversalDocument): Promise; read(query: UniversalQuery): Promise; update(id: string, data: Partial): Promise; delete(id: string): Promise; healthCheck(): Promise; } /** * Local Data Adapter (fallback) */ export declare class LocalDataAdapter extends BaseCloudAdapter { private dataStore; create(document: UniversalDocument): Promise; read(query: UniversalQuery): Promise; update(id: string, data: Partial): Promise; delete(id: string): Promise; healthCheck(): Promise; } /** * Cloud Adapter Factory */ export declare class CloudAdapterFactory { static createAdapter(provider: CloudProvider, config: MultiCloudConfiguration): BaseCloudAdapter; } /** * Multi-Cloud Data Router */ export declare class MultiCloudDataRouter { private adapters; constructor(config: MultiCloudConfiguration); route(operation: 'create' | 'read' | 'update' | 'delete', provider: CloudProvider, ...args: any[]): Promise; healthCheck(): Promise>; getAdapterMetrics(): Promise>; } //# sourceMappingURL=UniversalDataAdapter.d.ts.map