import EventEmitter from 'node:events'; import { Migrator } from 'kysely/migration'; declare const PgPool: typeof import("pg").Pool; type PgPool = InstanceType; import type { DatabaseSchema } from './database-schema.js'; import type { PgOptions } from './types.js'; export type { DatabaseSchema }; export declare class Database { opts: PgOptions; pool: PgPool; db: DatabaseSchema; migrator: Migrator; txEvt: EventEmitter; destroyed: boolean; constructor(opts: PgOptions, instances?: { db: DatabaseSchema; pool: PgPool; migrator: Migrator; }); get schema(): string | undefined; transaction(fn: (db: Database) => Promise): Promise; get isTransaction(): boolean; assertTransaction(): void; assertNotTransaction(): void; onCommit(fn: () => void): void; migrateToOrThrow(migration: string): Promise; migrateToLatestOrThrow(): Promise; close(): Promise; } export default Database; type TxnEvents = { commit: []; }; //# sourceMappingURL=db.d.ts.map