import { type ValidationErrors } from './ValidationErrors.js'; export type ValidatorFunction = (val: T, ctx?: TContext) => TErrors; export type ValidatorFunctionAsync = (val: T, ctx?: TContext) => Promise; export type ValidationConfig = { [P in keyof T]?: ValidatorFunction; }; export type ValidationResults = { [P in keyof T]?: TErrors; }; export type WrapperFunction = (val: ValidatorFunction) => ValidatorFunction; export interface ValidationVoid { readonly error?: string | null | undefined; validate(): Promise; }