import { ConnectionInfo, DbConfig, KnexConfig } from "./connection-info";
export declare enum Databases {
    mysql = "mysql",
    sqlite = "sqlite",
    localdb = "localdb"
}
export declare class TempDb {
    static create(type?: Databases): Promise<TempDb>;
    get type(): Databases;
    private readonly _type;
    constructor(type?: Databases);
    get config(): DbConfig | undefined;
    get knexConfig(): KnexConfig | undefined;
    private get connectionInfo();
    get isRunning(): boolean;
    private _connectionInfo;
    private _process;
    /**
     * Starts the instance, returning the connection string once started
     */
    start(): Promise<ConnectionInfo>;
    private _stopResolve;
    private _stopReject;
    stop(): Promise<void>;
    private findRunner;
    private findRunnerForWindows;
    private findNetCorePackageFolder;
    private findFrameworkPackageFolder;
    private findPackageLibFolder;
    private findTempDbPackageFolder;
    private findRunnerForNix;
    private findDotNetRunnerForNix;
    private findMonoRunnerForNix;
    private findShellScriptLauncher;
    private findPackageFolder;
}
