///
import 'cross-fetch/polyfill';
import { Agent as HttpAgent } from 'http';
import { Agent as HttpsAgent } from 'https';
import { BaseCommand, FindTransactionsResponse, GetBalancesResponse, GetInclusionStatesResponse, GetTrytesResponse } from '../../types';
import { BatchableCommand } from './httpClient';
declare type R = GetBalancesResponse | GetInclusionStatesResponse | GetTrytesResponse | FindTransactionsResponse;
export interface RequestParams {
readonly command: C;
readonly uri?: string;
readonly apiVersion?: string | number;
readonly user?: string;
readonly password?: string;
readonly agent?: HttpAgent | HttpsAgent;
}
/**
* Sends an http request to a specified host.
*
* @method send
*
* @memberof module:http-client
*
* @param {Command} command
*
* @param {String} [uri=http://localhost:14265]
*
* @param {String|Number} [apiVersion=1]
*
* @return Promise
* @fulil {Object} - Response
* @reject {Error} - Request error
*/
export declare const send: (params: RequestParams) => Promise;
/**
* Sends a batched http request to a specified host
* supports findTransactions, getBalances & getTrytes commands
*
* @method batchedSend
*
* @param {Command} command
*
* @param {String[]} keysToBatch
*
* @param {Number} [requestBatchSize=1000]
*
* @param {String} [uri='http://localhost:14265']
*
* @param {String|Number} [apiVersion=1]
*
* @ignore
*
* @return Promise
* @fulil {Object} - Response
* @reject {Error} - Request error
*/
export declare const batchedSend: (requestParams: RequestParams>, keysToBatch: readonly string[], requestBatchSize?: number) => Promise;
export {};