import type { Context, Env, Input, ValidationTargets } from "hono"; import type { BlankEnv, MiddlewareHandler } from "hono/types"; import type { Static, StaticCoerced, RemoveUnknownAdditionalProperties, Simplify, Schema } from "jsonv-ts"; export type Options = { coerce?: boolean; dropUnknown?: boolean; includeSchema?: boolean; skipOpenAPI?: boolean; }; type ValidationResult = { valid: boolean; errors: { keywordLocation: string; instanceLocation: string; error: string; data?: unknown; }[]; }; export type Hook = (result: { result: ValidationResult; data: T; }, c: Context) => Response | Promise | void; export declare const validator: : StaticCoerced, I extends Input = { in: { [K in Target]: Static; }; out: { [K in Target]: Opts extends { dropUnknown: true; } ? Simplify> : Out; }; }>(target: Target, schema: S, options?: Opts, hook?: Hook) => MiddlewareHandler; export {};