import { Http, Response, RequestOptionsArgs } from '@angular/http';
import { IConnectionManager } from '../share/IConnectionManager';
import { BackgroundProcessManager } from './BackgroundProcessManager.service';
import { ConnectionManager } from './ConnectionManager.service';
import { AbstractServerResource } from '../share/AbstractServerResource';
/**
 * <p style="text-indent: 2em;">
 * A <code>ng</code> service class implementing [[InstanceConnectionManager]] service interface. Please see [[InstanceConnectionManager]] for more details.
 * </p>
 *
 * @author shiorin, tee4cute
 */
export declare class InstanceConnectionManager implements IConnectionManager {
    private instanceConnectionManagerMap;
    private connectionManager;
    private http;
    private bgProcessMgr;
    private seletedInstanceId;
    private name;
    constructor(connectionManager: ConnectionManager, http: Http, bgProcessMgr: BackgroundProcessManager);
    private getNodes(instanceUUID);
    setUpInstance(instanceUUID: string, loginData?: any): Promise<any>;
    setUpInstances(instanced: any): Promise<any[]>;
    tearDownInstance(instanceUUID: string): void;
    getInstanceConnectionManager(): ConnectionManager;
    selectInstance(instanceUUID: string): void;
    get(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<any>;
    getWithHttpInfo(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<Response>;
    post(url: string, body: any, requestOptionsArgs: RequestOptionsArgs): Promise<any>;
    postWithHttpInfo(url: string, body: any, requestOptionsArgs: RequestOptionsArgs): Promise<Response>;
    put(url: string, body: any, requestOptionsArgs: RequestOptionsArgs): Promise<any>;
    putWithHttpInfo(url: string, body: any, requestOptionsArgs: RequestOptionsArgs): Promise<Response>;
    delete(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<any>;
    deleteWithHttpInfo(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<Response>;
    patch(url: string, body: any, requestOptionsArgs: RequestOptionsArgs): Promise<any>;
    patchWithHttpInfo(url: string, body: any, requestOptionsArgs: RequestOptionsArgs): Promise<Response>;
    head(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<any>;
    headWithHttpInfo(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<Response>;
    options(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<any>;
    optionsWithHttpInfo(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<Response>;
    request(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<any>;
    requestWithHttpInfo(url: string, requestOptionsArgs: RequestOptionsArgs): Promise<Response>;
    getRunningProcessesCount(): number;
    getRunningProcesses(): any[];
    getConnectionQuality(): number;
    setBaseURLs(urls: string[]): void;
    resetBaseURLs(): void;
    setDefaultHeader(key: string, value: string): void;
    removeDefaultHeader(key: string): void;
    resetDefaultHeaders(): void;
    setSearch(key: string, value: any): void;
    removeSearch(key: string): void;
    resetSearch(): void;
    setParam(key: string, value: any): void;
    removeParam(key: string): void;
    resetParams(): void;
    getName(): string;
    setName(name: string): void;
    createResource<R extends AbstractServerResource>(type: new (conMgr: IConnectionManager) => R): R;
}
