/// <reference types="node" />
import type { AxiosRequestConfig } from 'axios';
import type { ClientConfig } from '../config';
export declare class ApiClient {
    private readonly config;
    private readonly httpClient;
    constructor(config: ClientConfig);
    request<T>(config: AxiosRequestConfig): Promise<T>;
    get<T, P = Record<string, unknown>>(path: string, params?: P): Promise<T>;
    post<T, P = Record<string, unknown>>(path: string, data?: unknown, params?: P): Promise<T>;
    put<T, P = Record<string, unknown>>(path: string, data?: unknown, params?: P): Promise<T>;
    delete<T, P = Record<string, unknown>>(path: string, params?: P, data?: unknown): Promise<T>;
    postMultipart<T>(path: string, formData: FormData): Promise<T>;
    private sleep;
    getBaseUrl(): string;
    getAuthHeaders(): Promise<Record<string, string> | undefined>;
}
//# sourceMappingURL=ApiClient.d.ts.map