// packages/core/db/poolSingleton.d.ts // Declaraciones de tipos para @suitecoffee/db // Refleja el módulo ESM que expone poolCore y poolTenants (ambos Singletons) import type { Pool, PoolClient, PoolConfig, QueryResult, QueryResultRow, QueryConfig } from 'pg'; export type { Pool, PoolClient, PoolConfig, QueryResult, QueryResultRow, QueryConfig }; // Clases modeladas según la implementación JS (no se exportan como valores en runtime, // pero se exponen como tipos para el consumidor que quiera tipar sus variables). export declare class DatabaseCore { /** Instancia singleton interna (solo informativa para tipado). */ static instance?: DatabaseCore; /** Pool real de `pg`. */ connection: Pool; constructor(); /** Ejecuta una consulta utilizando el pool. */ query( sql: string | QueryConfig, params?: any[] ): Promise>; /** Alias al `pool.connect()`; devuelve un `PoolClient`. */ connect(): Promise; /** Alias al `pool.connect()`; devuelve un `PoolClient`. */ getClient(): Promise; /** Cierra el pool subyacente. */ release(): Promise; } export declare class DatabaseTenants { static instance?: DatabaseTenants; connection: Pool; constructor(); query( sql: string | QueryConfig, params?: any[] ): Promise>; connect(): Promise; getClient(): Promise; release(): Promise; } /** Singletons creados por el módulo. */ export declare const poolCore: DatabaseCore; export declare const poolTenants: DatabaseTenants; /** Export por defecto del módulo: objeto con ambos pools. */ declare const _default: { poolCore: DatabaseCore; poolTenants: DatabaseTenants; }; export default _default;