import { DatasourceService } from '../../datasource.service';
import { Driver } from '../driver';
import { QueryRunnerInterface } from '../query-runner.interface';
import { SqlServerConnectionOptions } from './sql-server-connection.options';
export declare class SqlServerConnectionDriver implements Driver {
    database: string;
    options: SqlServerConnectionOptions;
    mssql: any;
    connection: DatasourceService;
    /**
     * Pool for master database.
     */
    master: any;
    /**
     * Version of Postgres. Requires a SQL query to the DB, so it is not always set
     */
    version?: string;
    /**
     * We store all created query runners because we need to release them.
     */
    connectedQueryRunners: Array<QueryRunnerInterface>;
    constructor(connection: DatasourceService);
    protected loadDependencies(): void;
    connect(): Promise<void>;
    afterConnect(): Promise<void>;
    disconnect(): Promise<void>;
    createQueryRunner(): QueryRunnerInterface;
    /**
     * Obtains a new database connection to a master server.
     * Used for replication.
     * If replication is not setup then returns default connection's database connection.
     */
    obtainMasterConnection(): Promise<[
        unknown,
        () => Promise<void> | void
    ]>;
    /**
     * Creates a new connection pool for a given database credentials.
     */
    private createPool;
}
