import { IHttpClient } from "../interfaces/http-client.interface";
import { HttpRequestConfig, HttpResponse } from "../types/driver-types";
/**
 * Framework-agnostic HTTP client implementation using node-fetch
 * This can be easily replaced with any other HTTP library
 */
export declare class HttpClient implements IHttpClient {
    private readonly defaultTimeout;
    constructor(timeout?: number);
    request<T = unknown>(config: HttpRequestConfig): Promise<HttpResponse<T>>;
    get<T = unknown>(url: string, config?: Partial<HttpRequestConfig>): Promise<HttpResponse<T>>;
    post<T = unknown>(url: string, data?: unknown, config?: Partial<HttpRequestConfig>): Promise<HttpResponse<T>>;
    put<T = unknown>(url: string, data?: unknown, config?: Partial<HttpRequestConfig>): Promise<HttpResponse<T>>;
    delete<T = unknown>(url: string, config?: Partial<HttpRequestConfig>): Promise<HttpResponse<T>>;
    /**
     * Validate request configuration
     */
    private validateRequestConfig;
    /**
     * Parse response data based on content type
     */
    private parseResponse;
}
//# sourceMappingURL=http-client.d.ts.map