export declare class HTTPError extends Error { status: number; code?: string | undefined; data?: unknown | undefined; constructor(message: string, status: number, code?: string | undefined, data?: unknown | undefined); } export type HTTPMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE"; export interface HTTPRequestConfig { method: HTTPMethod; url: string; headers?: Record; data?: unknown; params?: Record; } export interface HTTPResponse { data: T; status: number; headers: Record; } export interface HTTPClient { request(config: HTTPRequestConfig): Promise>; handleError(error: unknown, requestConfig?: HTTPRequestConfig): HTTPError; destroy(): Promise; } export interface HTTPClientConfig { baseUrl: string; retryAttempts: number; /** * Request timeout in milliseconds. * * Axios interprets `0` as "no timeout". * If omitted, defaults to 30 seconds. */ timeoutMs?: number; } /** * This is a factory class for creating HTTPClient instances, at least for now * just a wrapper around AxiosClient */ export declare class HTTPClientFactory { static getInstance(config: HTTPClientConfig): HTTPClient; } //# sourceMappingURL=http-client.d.ts.map