///
/**
*
*/
import { EventEmitter } from 'events';
import { Logger } from './util/logger';
import { StreamPromise } from './util/promise';
import Connection from './connection';
import Transport from './transport';
import { HttpRequest, HttpRequestOptions, HttpResponse, Optional, Schema } from './types';
/**
* HTTP based API class with authorization hook
*/
export declare class HttpApi extends EventEmitter {
static _logger: Logger;
_conn: Connection;
_logger: Logger;
_transport: Transport;
_responseType: string | void;
_noContentResponse: string | void;
_options: HttpRequestOptions;
constructor(conn: Connection, options: any);
/**
* Callout to API endpoint using http
*/
request(request: HttpRequest): StreamPromise;
/**
* @protected
*/
getRefreshDelegate(): Optional>;
/**
* @protected
*/
beforeSend(request: HttpRequest): void;
/**
* Detect response content mime-type
* @protected
*/
getResponseContentType(response: HttpResponse): Optional;
/**
* @private
*/
parseResponseBody(response: HttpResponse): Promise;
/**
* Get response body
* @protected
*/
getResponseBody(response: HttpResponse): Promise;
/**
* Detect session expiry
* @protected
*/
isSessionExpired(response: HttpResponse): boolean;
/**
* Detect error response
* @protected
*/
isErrorResponse(response: HttpResponse): boolean;
/**
* Detect error in response body
* @protected
*/
hasErrorInResponseBody(_body: Optional): boolean;
/**
* Parsing error message in response
* @protected
*/
parseError(body: any): any;
/**
* Get error message in response
* @protected
*/
getError(response: HttpResponse, body?: any): Promise;
}
export default HttpApi;
export declare const isBrowser: boolean;