import { LucidHonoVariables } from "../../../types/hono.mjs";
import { ZodType } from "zod";
import { ValidationTargets } from "hono";

//#region src/libs/http/middleware/validate.d.ts
declare const validate: <T extends ZodType, Target extends keyof ValidationTargets>(target: Target, schema: T) => import("hono").MiddlewareHandler<import("hono").Env & {
  Variables: LucidHonoVariables;
}, string, {
  in: (undefined extends import("zod").input<T> ? true : false) extends true ? { [K in Target]?: (import("zod").input<T> extends infer T_1 ? T_1 extends import("zod").input<T> ? T_1 extends ValidationTargets[K] ? T_1 : { [K2 in keyof T_1]?: ValidationTargets[K][K2] | undefined } : never : never) | undefined } : { [K_1 in Target]: import("zod").input<T> extends infer T_1 ? T_1 extends import("zod").input<T> ? T_1 extends ValidationTargets[K_1] ? T_1 : { [K2 in keyof T_1]: ValidationTargets[K_1][K2] } : never : never };
  out: { [K_2 in Target]: import("zod").infer<T> };
}>;
//#endregion
export { validate as default };
//# sourceMappingURL=validate.d.mts.map