import { RequestHandler } from "express";
import { ZodType } from "zod";
/**
 * Parses req.body against `schema`, replacing it with the parsed (typed,
 * defaulted) value on success. Throws ApiError.badRequest with per-field
 * messages on failure, so route handlers can trust req.body's shape.
 */
export declare function validateBody<T>(schema: ZodType<T>): RequestHandler;
/**
 * Parses req.query against `schema`, storing the parsed (typed, defaulted)
 * value on req.pagination rather than overwriting req.query -- Express's
 * ParsedQs type doesn't accept an arbitrary replacement object. Throws
 * ApiError.badRequest with per-field messages on failure.
 */
export declare function validateQuery<T>(schema: ZodType<T>): RequestHandler;
