import { DatabaseEngine, DatabaseEngineTransaction, Result, DatabaseVersionError, MigrationWithNoValidExport, IDirectoryContext } from '@databases/migrations-base'; import { ConnectionPool, Transaction } from '@databases/pg'; export interface MigrationsConfig { migrationsDirectory: string; /** * @default "atdatabases_migrations_version" */ versionTableName: string; /** * @default "atdatabases_migrations_applied" */ appliedMigrationsTableName: string; } export type Migration = (tx: Transaction) => Promise; export default class PostgresDatabaseEngine implements DatabaseEngine { private readonly _connection; private readonly _config; readonly directory: IDirectoryContext; constructor(connection: ConnectionPool, config: MigrationsConfig); readonly databaseName = "Postgres"; readonly packageName = "@databases/pg-migrations"; readonly cliName = "pg-migrations"; readonly packageVersion: any; checkDatabaseVersion(): Promise>; tx(fn: (tx: DatabaseEngineTransaction) => Promise): Promise; loadMigration(migrationFileName: string): Result; dispose(): Promise; }