import { Databases } from "./tempdb";
export declare type DbConfig = DbConnectionConfig | SqliteConnectionConfig;
export interface Dictionary<T> {
    [key: string]: T;
}
export interface SqliteConnectionConfig {
    filename: string;
}
export interface DbConnectionConfig {
    host: string;
    user: string;
    password: string;
    database: string;
    port: number;
}
export interface KnexConfig {
    client: string;
    connection: SqliteConnectionConfig | DbConnectionConfig;
    useNullAsDefault: boolean;
}
export declare class ConnectionInfo {
    private _connectionString;
    private _type;
    get options(): Dictionary<string>;
    private _options;
    get knexConfig(): KnexConfig;
    get config(): DbConnectionConfig | SqliteConnectionConfig;
    constructor(_connectionString: string, _type: Databases);
    clone(): ConnectionInfo;
    private _user;
    private _pass;
    private _host;
    private _database;
    private _port;
    private makeConnectionInfo;
    private sanitizePath;
    private makeKnexClientString;
    private mapToInstance;
    private static readonly optionMap;
}
