import { ClientHttp2Session } from 'node:http2'; import { Logger } from './logger'; export interface ConnectionPoolOptions { secure?: boolean; auth?: string; } export interface Http2ConnectionPoolConfig { maxSessions?: number; sessionMaxAge?: number; connectionTimeout?: number; } export interface Http2Session { session: ClientHttp2Session; origin: string; lastUsed: number; activeStreams: number; maxConcurrentStreams: number; } export declare class Http2ConnectionPool { private sessions; private maxAge; private maxSessions; private connectionTimeout; private logger?; constructor(logger?: Logger, config?: Http2ConnectionPoolConfig); getSession(origin: string, options: ConnectionPoolOptions): ClientHttp2Session; canAcceptStream(origin: string): boolean; incrementActiveStreams(origin: string): void; decrementActiveStreams(origin: string): void; getAvailableSession(origin: string, options: ConnectionPoolOptions): ClientHttp2Session | null; private evictOldest; private cleanup; close(): void; getSessionCount(): number; hasSession(origin: string): boolean; _setMaxSessions(max: number): void; _setMaxAge(age: number): void; _getSessionLastUsed(origin: string): number | undefined; } //# sourceMappingURL=connection-pool.d.ts.map