import { AxiosRequestConfig } from "axios";
import { HttpClientConfig } from "./config.js";
export declare class HttpClient {
    private client;
    private config;
    constructor(config: HttpClientConfig);
    get<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
    post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
    put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
    delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
    uploadFile<T = any>(url: string, formData: FormData, config?: AxiosRequestConfig & {
        onProgress?: (progress: any) => void;
    }): Promise<T>;
    downloadFile(url: string, config?: AxiosRequestConfig): Promise<Buffer>;
}
