import type { TrussClientConfig } from '../types/index.js'; export interface HttpResponse { data: T; status: number; statusText: string; headers: Record; } export declare class TrussApiError extends Error { readonly status: number; readonly response: HttpResponse; constructor(message: string, response: HttpResponse); } export declare class TrussTimeoutError extends Error { readonly status = 408; constructor(timeoutMs: number); } export declare class TrussNetworkError extends Error { readonly cause?: unknown; constructor(message: string, options?: { cause?: unknown; }); } export declare class HttpClient { private readonly config; constructor(config: Required); /** * Make an HTTP request */ request(method: string, endpoint: string, data?: unknown, options?: RequestInit): Promise>; /** * GET request */ get(endpoint: string, options?: RequestInit): Promise>; /** * POST request */ post(endpoint: string, data?: unknown, options?: RequestInit): Promise>; private send; private buildHeaders; private parseBody; private shouldRetry; private retryDelay; private sleep; private parseHeaders; } //# sourceMappingURL=http.d.ts.map