import * as sql from "sql-bricks-postgres"; export type Id = bigint & { __id: T }; export interface Row { [key: string]: string; } export interface Transaction { modify(stmt: sql.Statement): Promise; fetchRow(stmt: sql.SelectStatement): Promise; fetchRows(stmt: sql.SelectStatement): Promise; raw(sql: string): Promise; } export interface DataSource { transaction(callback: (txn: Transaction) => Promise): Promise; vacuum(): Promise; }