import { $fetch, type FetchError, type FetchOptions, ofetch } from "ofetch"; import { type BinaryData } from "./binary"; import type { ExtendedHttpOptions, FileUploadInfo, HttpClientConfig, HttpResponse, UploadProgress } from "./types"; export declare class PlatformHttpClient { private config; private fetcher; constructor(config: HttpClientConfig); request(endpoint: string, options?: ExtendedHttpOptions): Promise>; get(endpoint: string, options?: Omit): Promise>; post(endpoint: string, body?: unknown, options?: Omit): Promise>; put(endpoint: string, body?: unknown, options?: Omit): Promise>; delete(endpoint: string, options?: Omit): Promise>; getJson(endpoint: string, options?: Omit): Promise>; postJson(endpoint: string, body?: unknown, options?: Omit): Promise>; putJson(endpoint: string, body?: unknown, options?: Omit): Promise>; deleteJson(endpoint: string, options?: Omit): Promise>; getBytes(endpoint: string, options?: Omit): Promise>; getText(endpoint: string, options?: Omit): Promise>; uploadFiles(endpoint: string, files: FileUploadInfo[], fields?: Record, options?: Omit): Promise>; streamUpload(endpoint: string, files: Array<{ name: string; data: BinaryData | ReadableStream; filename?: string; contentType?: string; size?: number; }>, fields?: Record, options?: { onProgress?: (progress: UploadProgress) => void; chunkSize?: number; } & Omit): Promise>; requestFileStream(endpoint: string, options?: ExtendedHttpOptions): Promise<{ data?: T; fileStream?: ReadableStream; fileMetadata?: { filename: string; contentType: string; size?: number; }; status: number; statusText: string; headers: Record; }>; updateConfig(config: Partial): void; getConfig(): HttpClientConfig; private normalizeError; private extractErrorMessage; } export declare function createHttpClient(config: HttpClientConfig): PlatformHttpClient; export { $fetch, ofetch, type FetchOptions, type FetchError };