import * as pg from "pg"; declare class Pool extends pg.Pool { readonly Client: Pool.ClientLikeCtr; constructor(config?: Pool.Config, client?: Pool.ClientLikeCtr); connect(): Promise; connect(callback: (err?: Error, client?: T & pg.PoolClient, done?: (release?: any) => void) => void): void; on( event: K, listener: K extends "error" | "release" ? (err: Error, client: T & pg.PoolClient) => void : (client: T & pg.PoolClient) => void, ): this; } declare namespace Pool { type ClientLikeCtr = new(config?: string | pg.ClientConfig) => T; interface Config extends pg.PoolConfig { Client?: ClientLikeCtr | undefined; } } export = Pool;