/** * Connection Pool Manager for NoSQL Storage Engine * Optimizes connection reuse and resource management for sub-10ms latency */ import { ConnectionPoolConfig } from '../types'; export interface PooledConnection { id: string; connection: T; created: number; lastUsed: number; inUse: boolean; usageCount: number; healthy: boolean; } export interface ConnectionFactory { create(): Promise; validate(connection: T): Promise; destroy(connection: T): Promise; } export interface PoolMetrics { totalConnections: number; activeConnections: number; idleConnections: number; queuedRequests: number; averageWaitTime: number; connectionErrors: number; poolHitRate: number; } export declare class ConnectionPool { private factory; private config; private connections; private waitingQueue; private metrics; private cleanupInterval?; private healthCheckInterval?; private destroyed; constructor(factory: ConnectionFactory, config: ConnectionPoolConfig); acquire(): Promise>; release(connection: PooledConnection): Promise; destroy(): Promise; getMetrics(): PoolMetrics; warmUp(): Promise; private getIdleConnection; private canCreateConnection; private createConnection; private generateConnectionId; private startCleanupProcess; private startHealthChecking; private cleanupIdleConnections; private performHealthChecks; private updateConnectionCounts; private updateMetrics; private resetMetrics; } export declare class D1ConnectionFactory implements ConnectionFactory { private database; constructor(database: D1Database); create(): Promise; validate(connection: D1Database): Promise; destroy(connection: D1Database): Promise; } export declare class KVConnectionFactory implements ConnectionFactory { private namespace; constructor(namespace: KVNamespace); create(): Promise; validate(connection: KVNamespace): Promise; destroy(connection: KVNamespace): Promise; } export declare class R2ConnectionFactory implements ConnectionFactory { private bucket; constructor(bucket: R2Bucket); create(): Promise; validate(connection: R2Bucket): Promise; destroy(connection: R2Bucket): Promise; } export declare class DurableObjectConnectionFactory implements ConnectionFactory { private namespace; private objectId; constructor(namespace: DurableObjectNamespace, objectId: string); create(): Promise; validate(connection: DurableObjectStub): Promise; destroy(connection: DurableObjectStub): Promise; } //# sourceMappingURL=connection-pool.d.ts.map