import { ZodType } from 'zod'; import { Environment } from './environment'; export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; export interface SdkConfig { baseUrl?: string; environment?: Environment; apiKey?: string; retry?: RetryOptions; } export interface HttpRequest extends Options { method: HttpMethod; url: string; headers?: Record; retry: Required; config: SdkConfig; } export interface HttpMetadata { status: number; statusText: string; headers: Record; } export interface HttpResponse { data?: T; metadata: HttpMetadata; raw: ArrayBuffer; } export interface RequestHandler { next?: RequestHandler; handle(request: HttpRequest): Promise>; } export declare enum ContentType { Json = "json", Xml = "xml", Pdf = "pdf", Image = "image", File = "file", Binary = "binary", FormUrlEncoded = "form", Text = "text", MultipartFormData = "multipartFormData" } export interface Options { responseSchema: ZodType; requestSchema?: ZodType; body?: any; requestContentType?: ContentType; responseContentType?: ContentType; abortSignal?: AbortSignal; queryParams?: Record; retry?: RetryOptions; } export interface RequestConfig { retry?: RetryOptions; } export interface RetryOptions { attempts: number; delayMs?: number; } //# sourceMappingURL=types.d.ts.map