import { Client, QueryResult } from 'pg'; import { bus } from '../bus'; import { Migrator } from '../internal'; export declare const PgType: { readonly bigint: "bigint"; readonly boolean: "boolean"; readonly timestamptz: "timestamp with time zone"; readonly double: "double precision"; readonly real: "real"; readonly integer: "integer"; readonly serial: "serial"; readonly text: "text"; readonly uuid: "uuid"; }; export declare type PgType = typeof PgType[keyof typeof PgType]; export declare const colToPG: (col: "bigint" | "boolean" | "text" | "integer" | "float" | "double" | "datetime" | "serial" | "uuid" | "updatedAt") => "bigint" | "boolean" | "text" | "integer" | "serial" | "uuid" | "timestamp with time zone" | "double precision" | "real"; export declare class PostgresMigrator extends Migrator { _db: bus.DB; _client?: Client; constructor(db: bus.DB); connect: () => Promise; disconnect: () => Promise; execute: (query: string, params?: any[] | undefined) => Promise>; protected lit: (lit: any) => string; protected id: (id: string) => string; initialize: () => Promise; addTable: (action: bus.ducks.addTable.Action) => Promise; dropTable: (action: string) => Promise; addColumn: (action: bus.ducks.addColumn.Action) => Promise; dropColumn: (table: string, column: string) => Promise; getCommits: () => Promise<{ name: string; created_at: Date; }[]>; commit: (action: bus.ducks.commit.Action) => Promise; protected addIndex: (table: string, column: string) => Promise; protected addUniquenessConstraint: (table: string, columns: string[]) => Promise; protected addForeignKey: (referencing: string, fkColumn: string, referenced: string) => Promise; beginTransaction: () => Promise; commitTransaction: () => Promise; rollbackTransaction: () => Promise; protected addForeignKeyRelation: (action: bus.ducks.oneToOne.Action | bus.ducks.oneToMany.Action, schema: bus.Schema) => Promise; oneToOne: (action: bus.ducks.oneToOne.Action, schema: bus.Schema) => Promise; oneToMany: (action: bus.ducks.oneToMany.Action, schema: bus.Schema) => Promise; manyToMany: (action: bus.ducks.manyToMany.Action, schema: bus.Schema) => Promise; }