/** * SupaCloud CLI HTTP transport layer. * * After SupaCloud is installed, manage projects via Management API (HTTP). * Includes request timeout, retry with exponential backoff, and proper error handling. */ export interface HttpConfig { baseUrl: string; token: string; apiKey?: string; insecureTls?: boolean; } export interface HttpResult { ok: boolean; status: number; data: T; transportError?: boolean; responseReadError?: true; } export interface HttpGetOptions { timeoutMs?: number; retry?: boolean; /** Complete header/body budget for a bounded JSON GET with retries disabled. */ totalTimeoutMs?: number; maxResponseBytes?: number; maxJsonBytes?: number; responseTimeoutMs?: number; } export interface HttpPostOptions { timeoutMs?: number; maxJsonBytes?: number; responseTimeoutMs?: number; } export interface HttpReleaseMutationOptions { timeoutMs?: number; } export interface HttpBinaryPostOptions { contentType: string; contentLength: number; contentSha256: string; maxJsonBytes: number; timeoutMs?: number; responseTimeoutMs?: number; } export interface HttpBinaryBody { stream: ReadableStream; byteLength: number; } export declare class HttpTransport { private baseUrl; private token; private apiKey; private insecureTls; constructor(config: HttpConfig); private headers; private mutationWithResponseReader; get(path: string, options?: HttpGetOptions): Promise>; post(path: string, body?: unknown, options?: HttpPostOptions): Promise>; postReleaseMutation(path: string, body?: unknown, options?: HttpReleaseMutationOptions): Promise>; postBinary(path: string, body: HttpBinaryBody, options: HttpBinaryPostOptions): Promise>; patchReleaseMutation(path: string, body?: unknown): Promise>; deleteReleaseMutation(path: string, body?: unknown): Promise>; postMultipart(path: string, formData: FormData, options?: HttpPostOptions): Promise>; patch(path: string, body?: unknown): Promise>; put(path: string, body?: unknown, options?: HttpPostOptions): Promise>; delete(path: string, body?: unknown, options?: HttpPostOptions): Promise>; ping(): Promise; }