/**
 * Request Validation Middleware
 * Provides schema-based request validation for server adapters
 */
import type { ExtendedValidationSchema, MiddlewareDefinition, MiddlewareRequestSchema, PropertySchema, ValidationConfig } from "../../types/index.js";
/**
 * Re-export ValidationError from errors for convenience
 */
export { ValidationError } from "../errors.js";
/**
 * Create request validation middleware
 *
 * @example
 * ```typescript
 * const validationMiddleware = createRequestValidationMiddleware({
 *   bodySchema: {
 *     required: ["input"],
 *     properties: {
 *       input: { type: "string", minimum: 1 },
 *       temperature: { type: "number", minimum: 0, maximum: 1 },
 *     },
 *   },
 * });
 *
 * server.registerMiddleware(validationMiddleware);
 * ```
 */
export declare function createRequestValidationMiddleware(config: ValidationConfig): MiddlewareDefinition;
/**
 * Create a field validator helper
 */
export declare function createFieldValidator(fieldName: string, rules: PropertySchema): (value: unknown) => void;
/**
 * Create body-only validation middleware
 *
 * @example
 * ```typescript
 * const middleware = createBodyValidationMiddleware({
 *   required: ["input"],
 *   properties: {
 *     input: { type: "string" },
 *   },
 * });
 * ```
 */
export declare function createBodyValidationMiddleware(schema: MiddlewareRequestSchema): MiddlewareDefinition;
/**
 * Create query-only validation middleware
 *
 * @example
 * ```typescript
 * const middleware = createQueryValidationMiddleware({
 *   properties: {
 *     page: { type: "number", minimum: 1 },
 *     limit: { type: "number", minimum: 1, maximum: 100 },
 *   },
 * });
 * ```
 */
export declare function createQueryValidationMiddleware(schema: MiddlewareRequestSchema): MiddlewareDefinition;
/**
 * Create a combined validation middleware with full config support
 * Alias for createRequestValidationMiddleware for compatibility
 */
export declare const createValidationMiddleware: typeof createRequestValidationMiddleware;
/**
 * Common validation schemas for reuse
 */
export declare const CommonSchemas: Record<string, ExtendedValidationSchema>;
