///
///
import { AxiosResponse } from 'axios';
import { IncomingMessage } from 'http';
import { IOContext } from '../service/worker/runtime/typings';
import { InstanceOptions, IOResponse, RequestConfig } from './typings';
type ClientOptions = IOContext & Partial;
export declare class HttpClient {
name: string;
private logger;
private cacheableType;
private memoizable;
private runMiddlewares;
constructor(opts: ClientOptions);
get: (url: string, config?: RequestConfig) => Promise;
getRaw: (url: string, config?: RequestConfig) => Promise>;
getWithBody: (url: string, data?: any, config?: RequestConfig) => Promise;
getBuffer: (url: string, config?: RequestConfig) => Promise<{
data: Buffer;
headers: any;
}>;
getStream: (url: string, config?: RequestConfig) => Promise;
put: (url: string, data?: any, config?: RequestConfig) => Promise;
putRaw: (url: string, data?: any, config?: RequestConfig) => Promise>;
post: (url: string, data?: any, config?: RequestConfig) => Promise;
postRaw: (url: string, data?: any, config?: RequestConfig) => Promise>;
patch: (url: string, data?: any, config?: RequestConfig) => Promise;
head: (url: string, config?: RequestConfig) => Promise>;
delete: (url: string, config?: RequestConfig) => Promise>;
protected request: (config: RequestConfig) => Promise;
private getConfig;
}
export {};