import { z } from 'zod'; import type { ZodTypeAny } from 'zod'; export type ValidationErrors = Record; /** * Parse and validate the request body as JSON. * * @throws {Response} 422 Unprocessable Entity if validation fails. * @throws {Response} 400 Bad Request if body is not valid JSON. */ export declare function parseBody(req: Request, schema: T): Promise>; /** * Parse and validate URL query parameters. * All query values arrive as strings — use Zod's `.coerce` for numbers/booleans. * * @throws {Response} 422 Unprocessable Entity if validation fails. * * @example * const ListSchema = z.object({ * page: z.coerce.number().int().positive().default(1), * limit: z.coerce.number().int().max(100).default(20), * }); * const query = await parseQuery(req, ListSchema); */ export declare function parseQuery(req: Request, schema: T): Promise>; //# sourceMappingURL=form-request.d.ts.map