import { Agent as HTTPAgent } from "http"; import { Agent as HTTPSAgent } from "https"; import { Headers, HttpClient, HttpMethod, RequestLogger, SendStreamOptions, GetStreamOptions, RequestConfig } from "./types"; export declare abstract class ClientUtilsBase implements HttpClient { apiBase: string; private fetch; private log?; private normalizeUrlFn; static headers: Headers; agent: HTTPAgent | HTTPSAgent; private disposed; protected ownsAgent: boolean; constructor(apiBase: string, fetch: any, normalizeUrlFn?: (url: string) => string); dispose(): void; addLogger(logger: Partial): void; static setDefaultHeaders(headers: Headers): void; private safeRequest; get(url: string, requestInit?: RequestInit): Promise; request(method: HttpMethod, url: string, requestInit?: RequestInit): Promise; post(url: string, data: any, requestInit?: RequestInit, config?: RequestConfig): Promise; put(url: string, data: any, requestInit?: RequestInit, config?: RequestConfig): Promise; delete(url: string, requestInit?: RequestInit): Promise; sendStream(url: string, stream: any | string, requestInit?: RequestInit, { type, end, parseResponse }?: SendStreamOptions): Promise; getStream(url: string, requestInit?: RequestInit, { type }?: GetStreamOptions): Promise; }