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