import { When } from './base'; /** A type alias for a validator function */ export declare type TValidator = (ctx: T, ...extraArgs: any[]) => boolean | Promise; /** A type alias for a validator callback function */ export declare type TValidatorCallback = (ctx: T, ...extraArgs: any[]) => void; /** A type alias for a parser function */ export declare type TParser = (ctx: T, ...extraArgs: any[]) => R | Promise; /** A type alias for class When and its derived classes */ export declare type TWhenClass = Function & { new ({ validate, parse, validCallback, invalidCallback }: { validate?: TValidator[]; parse?: TParser[]; validCallback?: TValidatorCallback[]; invalidCallback?: TValidatorCallback[]; }): T; };