import Logger from './logger';
/**
 * Classe Db
 */
export default class Db {
    private properties_;
    private connexionParams_;
    private client_;
    private connected_;
    private preferMode_;
    private connectionTimeout_;
    private lastQueryDate_;
    private disconnectFncTimeout_;
    private logger_;
    /**
     * Constructeur
     */
    constructor(properties: any, connexionParams: any, logger: Logger);
    /**
     *
     * @returns {boolean}
     */
    isConnected(): boolean;
    /**
     * Connexion à la base
     */
    connect(): Promise<void>;
    /**
     * Connexion à la base
     */
    connectWithSslCheck(): Promise<void>;
    /**
     * Surcharge la configuration SSL pour la connection postgres
     */
    private loadSslConfigFromProperties;
    /**
     * Change la durée maximale d'une connexion à la base
     * @param iDuration Durée en millisecond
     */
    setMaxConnectionTime(iDuration: number): void;
    /**
     * Désactive la déconnexion automatique à la base
     */
    disableTimeOut(): void;
    /**
     * Déconnexion de la base
     */
    disconnect(): void;
    /**
     * Lance une requette
     * @param {string} sQuery Requette, pour utiliser des paramêtres utiliser $1, $2...
     * @param {Array | undefined} aParams Paramètres sous forme de tableau
     */
    private execQuery_;
    query(sQuery: string, aParams?: any[], bAutoConnect?: boolean): Promise<unknown>;
}
