import type { DatabasePoolEventEmitter } from "../types.js"; import type { Driver, DriverClientEventEmitter, DriverClientState, DriverQueryOptions, DriverQueryResult, DriverStream, DriverStreamResult } from "@slonik/driver"; export type ConnectionPool = { acquire: () => Promise; end: () => Promise; id: () => string; state: () => ConnectionPoolState; warmup: () => Promise; }; export type ConnectionPoolClient = { acquire: () => void; destroy: () => Promise; events: DatabasePoolEventEmitter; id: () => string; off: DriverClientEventEmitter["off"]; on: DriverClientEventEmitter["on"]; query: (query: string, values?: unknown[], queryOptions?: DriverQueryOptions) => Promise; release: () => Promise; removeListener: DriverClientEventEmitter["removeListener"]; state: () => DriverClientState; stream: (query: string, values?: unknown[]) => DriverStream; }; /** * @property {number} acquiredConnections - The number of connections that are currently acquired. */ type ConnectionPoolState = { acquiredConnections: number; idleConnections: number; pendingConnections: number; pendingDestroyConnections: number; pendingReleaseConnections: number; state: ConnectionPoolStateName; waitingClients: number; }; type ConnectionPoolStateName = "ACTIVE" | "ENDED" | "ENDING"; export declare const createConnectionPool: ({ driver, events, idleTimeout, maximumConnectionAge, maximumPoolSize, minimumPoolSize, }: { driver: Driver; events: DatabasePoolEventEmitter; /** * Idle timeout in milliseconds. Use Number.POSITIVE_INFINITY to disable. */ idleTimeout: number; /** * The maximum age of a connection in milliseconds. * After this age, the connection will be destroyed. * Use Number.POSITIVE_INFINITY to disable. */ maximumConnectionAge: number; maximumPoolSize: number; minimumPoolSize: number; }) => ConnectionPool; export {}; //# sourceMappingURL=createConnectionPool.d.ts.map