import { CubeApi } from '@cubejs-client/core'; import { LogManager } from '../../../common/port/log/log.manager.port'; export interface CubeConnectionPoolConfig { maxConnections?: number; idleTimeout?: number; connectionTimeout?: number; retryAttempts?: number; retryDelay?: number; } export declare class CubeConnectionPool { private readonly logManager; private readonly endpoint; private connections; private config; private cleanupInterval; constructor(logManager: LogManager, endpoint: string, config?: CubeConnectionPoolConfig); /** * Get a connection from the pool or create a new one */ getConnection(token: string): Promise; /** * Release a connection back to the pool */ releaseConnection(token: string, client: CubeApi): void; /** * Close all connections and cleanup */ close(): Promise; /** * Get pool statistics */ getStats(): Record; private createConnection; private waitForConnection; private isConnectionValid; private getTokenKey; private startCleanupInterval; private cleanupIdleConnections; } //# sourceMappingURL=cube-connection-pool.d.ts.map