import { AxiosRequestConfig, AxiosResponse } from 'axios';
export interface HTTPClientOptions {
    apiKey: string;
    projectId: string;
    baseUrl: string;
    timeout: number;
}
export declare class HTTPClient {
    private client;
    constructor(options: HTTPClientOptions);
    /**
     * Make a GET request.
     *
     * @param path API endpoint path
     * @param config Additional request configuration
     * @returns Response data
     */
    get(path: string, config?: AxiosRequestConfig): Promise<AxiosResponse>;
    /**
     * Make a POST request.
     *
     * @param path API endpoint path
     * @param data Request body data
     * @param config Additional request configuration
     * @returns Response data
     */
    post(path: string, data?: any, config?: AxiosRequestConfig): Promise<AxiosResponse>;
    /**
     * Make a PUT request.
     *
     * @param path API endpoint path
     * @param data Request body data
     * @param config Additional request configuration
     * @returns Response data
     */
    put(path: string, data?: any, config?: AxiosRequestConfig): Promise<AxiosResponse>;
    /**
     * Make a DELETE request.
     *
     * @param path API endpoint path
     * @param config Additional request configuration
     * @returns Response data
     */
    delete(path: string, config?: AxiosRequestConfig): Promise<AxiosResponse>;
    /**
     * Handle errors and convert to appropriate SDK errors.
     *
     * @param error The original error
     * @returns A standardized error
     */
    private handleError;
}
