import { ContentType, IHttpClient, IHttpClientConfigData, SlAgentMetadata } from './contracts'; import { OptionsWithUrl } from 'sl-request'; import { HttpVerb } from './http-verb'; import { Logger } from '../contracts'; import { IHttpMetricsStore } from '../../common/metrics-process/contracts'; export { getSystemDateValueOf } from '../../common/system-date'; export type IHttpClientCallback = (err: Error, body: T, statusCode: number) => void; export declare class HttpClient implements IHttpClient { protected cfg: IHttpClientConfigData; protected metadata: SlAgentMetadata; protected logger: Logger; protected metricsStore: IHttpMetricsStore; static DEFAULT_HTTP_TIMEOUT: number; constructor(cfg: IHttpClientConfigData, metadata: SlAgentMetadata, logger: Logger, metricsStore: IHttpMetricsStore); get(urlPath: string, callback: IHttpClientCallback, isNotFoundAcceptable?: boolean): void; delete(body: any, urlPath: string, callback: IHttpClientCallback): void; put(requestData: any, urlPath: string, callback: IHttpClientCallback, _async?: boolean, contentType?: ContentType): void; post(requestData: any, urlPath: string, callback: IHttpClientCallback, _async?: boolean, contentType?: ContentType): void; postMultipart(requestData: any, urlPath: string, callback: IHttpClientCallback): void; updateMetadata(metadata: Partial): void; private submitRequestWithBody; private invokeHttpRequest; protected createOnRequestCallback({ httpVerb, url, requestStarted, callback, isNotFoundAcceptable, }: { httpVerb: HttpVerb; url: string; requestStarted: number; callback: (err: Error, body: any, statusCode: number) => void; isNotFoundAcceptable?: boolean; }): (err: any, requestResponse: any, body: any) => void; private allowUntrustedCertificates; protected createDefaultOptions(urlPath: string, contentType?: ContentType): OptionsWithStringUrl; private checkEnvironmentForProxy; protected get defaultTimeout(): number; } interface OptionsWithStringUrl extends OptionsWithUrl { url: string; compressed: boolean; }