import { type HttpContractConfig } from "../contracts/index.js"; import type { HttpRequestLike, HttpResponseLike } from "./http.js"; /** * Request body limits enforced before contract body validation. */ export interface RequestBodyOptions { /** * Maximum request body size in bytes for JSON/text route bodies. * * @default 1048576 */ maxBytes?: number; } export type PreparedRequestInputs = { path: unknown; query: unknown; headers: unknown; body: unknown; rawHeaders: Record; }; export type RequestPreparationResult = { ok: true; inputs: PreparedRequestInputs; } | { ok: false; response: HttpResponseLike; }; export declare function requestHeadersToRecord(headers: Headers): Record; export declare function requestBodyLimit(options: RequestBodyOptions | undefined): number; export declare function prepareRequestInputs(args: { contract: HttpContractConfig; req: HttpRequestLike; url: URL; rawHeaders: Record; matchedParams: Record; maxRequestBodyBytes: number; rawRoute?: boolean; }): Promise; //# sourceMappingURL=request-preparation.d.ts.map