import IEngine from '../IEngine';
import * as pg from 'pg';
import IExec from '../IExec';
export default class EnginePostgres implements IEngine, IExec<pg.Client> {
    private readonly url?;
    private connectionInProgress?;
    private _client?;
    constructor(url?: string);
    connect(): Promise<void>;
    isConnected(): boolean;
    close(): Promise<void>;
    drop(): Promise<void>;
    exec<B>(fn: (client: pg.Client) => B): Promise<B>;
    ensureConnection(): Promise<pg.Client>;
}
