import pg from 'pg'; import { PostgresTransaction } from './PostgresTransaction.js'; import { Database } from '../../Database.js'; import type { DbConfig } from '../../types.js'; /** * Represents a Postgres database connection that extends the Database class. * @extends Database */ export declare class PostgresDatabase extends Database { /** * A public static property that represents a connection pool for a PostgreSQL database. * This property is used to manage and provide connections to the PostgreSQL database. */ private static pgProvider; /** * Represents a connection pool to manage multiple client connections to the database. */ readonly client: pg.Pool; /** * A private property that represents a connection pool for clients. * @type {Pool | undefined} */ readonly readClient?: pg.Pool; /** * Constructor for creating a new instance of a database connection using Postgres. * @param {DbConfig<'pg'>} config - The configuration object for the Postgres database. * @returns None */ constructor(config: DbConfig<'pg'>); /** * Creates a new Postgres transaction using the provided client and read client. * @returns {Promise} A promise that resolves to a new PostgresTransaction object. */ transaction(): Promise; private providerFactory; }