import { DateAsTimestampWithTimeZone } from "@operativa/verse/conventions/database"; import { Driver, ExecuteResult, ExecuteStatement, IsolationLevel } from "@operativa/verse/db/driver"; import { SqlNode } from "@operativa/verse/db/sql"; import { Model } from "@operativa/verse/model/model"; import { Logger } from "@operativa/verse/utils/logging"; import { List } from "immutable"; export declare function postgres(connectionString: string): PostgresDriver; export declare class PostgresDriver implements Driver, AsyncDisposable { #private; constructor(connectionString: string); validate(model: Model): void; get info(): { name: string; server: string; database: string; }; set logger(logger: Logger | undefined); get conventions(): List; rows(sql: SqlNode): (args: unknown[]) => AsyncGenerator; execute(statements: readonly ExecuteStatement[], isolation?: IsolationLevel, onCommit?: (results: readonly ExecuteResult[]) => void): Promise; script(statements: readonly ExecuteStatement[]): string[]; exists(): Promise; tableExists(name: string): Promise; create(): Promise; drop(): Promise; [Symbol.asyncDispose](): Promise; }