import type { FetchImpl } from "../types"; export type RequestDebugHeaders = Headers | Record | undefined; export interface RequestDebugPayload { method: string; url: string; headers?: RequestDebugHeaders; body?: unknown; bodyText?: string; bodyBase64?: string; bodyUnavailable?: string; protocol?: string; } export interface RequestDebugResponseLog { write(chunk: Uint8Array | string): void; close(): Promise; } export interface RequestDebugSession { readonly id: number; readonly requestPath: string; readonly responsePath: string; openResponseLog(statusLine: string, headers?: RequestDebugHeaders): Promise; wrapResponse(response: Response): Promise; } export declare function isRequestDebugEnabled(): boolean; export declare function wrapFetchForRequestDebug(fetchImpl: FetchImpl): FetchImpl; export declare function withRequestDebugFetch(options: T): T; export declare function createRequestDebugSession(payload: RequestDebugPayload): Promise;