import { Config } from '../types';
import { RetryHandler } from '../strategies/retry/expo';
import { Readable } from 'stream';
export declare class HttpClient {
    private config;
    private retryHandler;
    constructor(config: Config, baseUrl: string, retryHandler?: RetryHandler);
    request<T>(endpoint: string, options?: RequestInit, isStream?: boolean): Promise<T>;
    streamRequest(endpoint: string, options?: RequestInit): Promise<Readable>;
    private handleErrorResponse;
    private isRetryableStatusCode;
    private getStatusText;
    private createTimeoutSignal;
    updateConfig(newConfig: Partial<Config>): void;
    getConfig(): Config;
}
