import { AxiosRequestConfig } from 'axios';
import { KotaniPayConfig } from '../types';
export declare class HttpClientUtil {
    private client;
    private config;
    private authToken?;
    constructor(config: KotaniPayConfig);
    /**
     * Set authentication token (JWT or API Key)
     */
    setAuthToken(token: string, type?: 'Bearer' | 'JWT'): void;
    /**
     * Clear authentication token
     */
    clearAuthToken(): void;
    /**
     * Get current auth token
     */
    getAuthToken(): string | undefined;
    private setupInterceptors;
    request<T>(config: AxiosRequestConfig): Promise<T>;
    get<T>(url: string, config?: AxiosRequestConfig): Promise<T>;
    post<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
    put<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
    delete<T>(url: string, config?: AxiosRequestConfig): Promise<T>;
    getConfig(): {
        environment: string;
        baseURL: string;
    };
    private handleError;
}
//# sourceMappingURL=http-client.util.d.ts.map