import type { ProgressCallback } from "./types.mjs"; /** * Wrap a `BodyInit` so each emitted chunk fires a progress event. Total * size is computed when the body is a string, ArrayBuffer/ArrayBufferView, * or Blob; otherwise total is undefined. * * Returns a `ReadableStream` plus the computed total. When streams aren't * supported (no duplex), the caller should fall back to passing the body * directly without progress events. */ export declare function progressUpload(body: BodyInit, callback: ProgressCallback, intervalMs?: number): Promise<{ body: BodyInit; total: number | undefined; }>; /** * Wrap a Response so iterating its body fires progress events. Returns a * new Response with the wrapped stream; consume it like any other Response. */ export declare function progressDownload(response: Response, callback: ProgressCallback, intervalMs?: number): Response; /** Whether the runtime supports half-duplex streamed request bodies. */ export declare function supportsRequestStreams(): boolean;