import { z } from 'zod'; import { EventEmitter } from 'events'; declare const CloudOperationSchema: z.ZodObject<{ operation: z.ZodEnum<["create", "read", "update", "delete", "query", "scan"]>; collection: z.ZodString; data: z.ZodOptional; filter: z.ZodOptional; options: z.ZodOptional>; timeout: z.ZodDefault; retries: z.ZodDefault; }, "strip", z.ZodTypeAny, { consistency: "strong" | "eventual"; timeout: number; retries: number; }, { consistency?: "strong" | "eventual" | undefined; timeout?: number | undefined; retries?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { collection: string; operation: "update" | "delete" | "create" | "query" | "read" | "scan"; filter?: any; options?: { consistency: "strong" | "eventual"; timeout: number; retries: number; } | undefined; data?: any; }, { collection: string; operation: "update" | "delete" | "create" | "query" | "read" | "scan"; filter?: any; options?: { consistency?: "strong" | "eventual" | undefined; timeout?: number | undefined; retries?: number | undefined; } | undefined; data?: any; }>; export type CloudOperation = z.infer; export declare abstract class CloudDatabaseAdapter extends EventEmitter { protected connectionString: string; protected isConnected: boolean; protected metrics: { operations: number; errors: number; latency: number[]; }; constructor(connectionString: string); abstract connect(): Promise; abstract disconnect(): Promise; abstract execute(operation: CloudOperation): Promise; abstract healthCheck(): Promise; protected trackOperation(startTime: number, success: boolean): void; getMetrics(): { operations: number; errors: number; errorRate: number; averageLatency: number; isConnected: boolean; }; } export declare class AWSDynamoDBAdapter extends CloudDatabaseAdapter { private client; constructor(config: { region: string; accessKeyId?: string; secretAccessKey?: string; endpoint?: string; }); private initializeClient; connect(): Promise; disconnect(): Promise; execute(operation: CloudOperation): Promise; private simulateDynamoDBOperation; healthCheck(): Promise; } export declare class AzureCosmosDBAdapter extends CloudDatabaseAdapter { private client; constructor(config: { endpoint: string; key?: string; database: string; }); private initializeClient; connect(): Promise; disconnect(): Promise; execute(operation: CloudOperation): Promise; private simulateCosmosDBOperation; healthCheck(): Promise; } export declare class GCPSpannerAdapter extends CloudDatabaseAdapter { private client; constructor(config: { projectId: string; instanceId: string; databaseId: string; keyFilename?: string; }); private initializeClient; connect(): Promise; disconnect(): Promise; execute(operation: CloudOperation): Promise; private simulateSpannerOperation; healthCheck(): Promise; } export declare class CloudDatabaseManager extends EventEmitter { private adapters; private activeConnections; constructor(); private initializeAdapters; executeOnCloud(cloud: string, operation: CloudOperation): Promise; getAllCloudMetrics(): Promise>; healthCheckAll(): Promise>; getAvailableClouds(): string[]; } export declare const cloudDatabaseManager: CloudDatabaseManager; export {}; //# sourceMappingURL=CloudDatabaseAdapters.d.ts.map