import type { HTTPMethod } from './link.js'; /** * Conditionally get body to avoid issues with * "TypeError: Response body object should not be disturbed or locked" * "TypeError: Request with GET/HEAD method cannot have body." * @see https://share.cleanshot.com/KPYHPC5n * Typically used together with modifyRequest */ export declare function maybeGetBody(req: Request): Promise; type URLOverrides = { /** Either overrides or fn that does in-place modification */ searchParams?: Record | ((sp: URLSearchParams) => void); } & Partial>; export declare function modifyUrl(urlStr: string, { searchParams, ...overrides }: URLOverrides): string; export declare function modifyRequest(req: Request, overrides: Omit & { method?: HTTPMethod; url?: string | URLOverrides; /** Either overrides or fn that does in-place modification */ headers?: HeadersInit | ((headers: Headers) => void); /** * Needed when passing through body as ReadableStream of byteArray. Solves * "TypeError: RequestInit: duplex option is required when sending a body." * TODO: Think about if we should better abstract this somehow... */ duplex?: 'half'; }): Request; export declare function modifyResponse(res: Response, overrides: Omit & { headers?: HeadersInit | ((headers: Headers) => void); }): Response; export declare function modifyHeaders(original: HeadersInit, modify: HeadersInit | ((headers: Headers) => void) | undefined): Headers; /** Courtesy of https://github.com/whitecrownclown/merge-headers/blob/master/index.ts */ export declare function mergeHeaders(...sources: Array): Headers; export {}; //# sourceMappingURL=modifyRequestResponse.d.ts.map