import { Request } from '../transport/request.js'; import { HttpResponse, RequestHandler } from '../types.js'; /** * Request handler that validates and serializes request bodies based on content type. * Supports JSON, XML, text, binary, form data, and multipart form data. */ export declare class RequestValidationHandler implements RequestHandler { /** Next handler in the chain */ next?: RequestHandler; /** * Handles a standard HTTP request with validation. * @template T - The expected response data type * @param request - The HTTP request to validate * @returns A promise that resolves to the HTTP response * @throws Error if no next handler is set */ handle(request: Request): Promise>; /** * Handles a streaming HTTP request with validation. * @template T - The expected response data type for each chunk * @param request - The HTTP request to validate * @returns An async generator that yields HTTP responses * @throws Error if no next handler is set */ stream(request: Request): AsyncGenerator>; /** * Validates and serializes the request body based on its content type. * @param request - The HTTP request to validate * @throws ValidationError if Zod schema validation fails */ validateRequest(request: Request): void; /** * Converts request body to URL-encoded form data format. * @param request - The HTTP request with body to convert * @returns URL-encoded string representation of the body */ toFormUrlEncoded(request: Request): string; /** * Converts request body to multipart form data format. * Handles files (ArrayBuffer), arrays, and regular values. * @param body - The request body object * @param filename - Optional filename for single file uploads * @param filenames - Optional filenames array for array of file uploads * @returns FormData object with serialized body */ toFormData(body: Record, filename?: string, filenames?: string[]): FormData; } //# sourceMappingURL=request-validation-handler.d.ts.map