/** * HTTP client wrapper with retry logic and better error handling * Wraps axios with exponential backoff and standardized error handling */ import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'; /** * HTTP client with retry logic */ export declare class HttpClient { private client; private maxRetries; private baseDelay; private backoffMultiplier; constructor(baseURL: string, defaultTimeout?: number); /** * Set authorization header */ setAuthToken(token: string): void; /** * Clear authorization header */ clearAuthToken(): void; /** * Get the underlying axios instance for advanced use cases (like streaming) */ getAxiosInstance(): AxiosInstance; /** * Execute request with retry logic */ private executeWithRetry; /** * GET request */ get(url: string, config?: AxiosRequestConfig): Promise>; /** * POST request */ post(url: string, data?: any, config?: AxiosRequestConfig): Promise>; /** * PUT request */ put(url: string, data?: any, config?: AxiosRequestConfig): Promise>; /** * DELETE request */ delete(url: string, config?: AxiosRequestConfig): Promise>; /** * PATCH request */ patch(url: string, data?: any, config?: AxiosRequestConfig): Promise>; /** * Update the base URL for all future requests * Used when switching between different NeuBird instances */ setBaseUrl(newBaseUrl: string): void; /** * Get the current base URL */ getBaseUrl(): string; }