import { CulqiOptions } from './culqi-client'; export interface RequestConfig { /** URL‑encoded query params */ params?: Record; /** JSON payload for POST / PATCH */ data?: unknown; /** Extra HTTP headers */ headers?: Record; /** Use **public** key instead of secret */ pub?: boolean; /** Override default timeout (ms) */ timeout?: number; /** Override retry attempts */ retries?: number; } export declare class CulqiError extends Error { readonly status: number; readonly data: T | undefined; constructor(message: string, status: number, data: T | undefined); } export declare class HttpClient { private readonly opts; constructor(opts: CulqiOptions); get(url: string, cfg?: RequestConfig): Promise; post(url: string, cfg: RequestConfig): Promise; patch(url: string, cfg: RequestConfig): Promise; del(url: string, cfg?: RequestConfig): Promise; private headers; /** Serialize query parameters */ private static serialize; private request; } //# sourceMappingURL=http-client.d.ts.map