import { Migrator } from 'kysely'; import pg from 'pg'; declare const PgPool: typeof pg.Pool; type PgPool = InstanceType; import type TypedEmitter from 'typed-emitter'; import { DatabaseSchema } from './database-schema.js'; import { PgOptions } from './types.js'; export type { DatabaseSchema }; export declare class Database { opts: PgOptions; pool: PgPool; db: DatabaseSchema; migrator: Migrator; txEvt: TxnEmitter; 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 TxnEmitter = TypedEmitter.default; type TxnEvents = { commit: () => void; }; //# sourceMappingURL=db.d.ts.map