import { TValidator, TValidatorCallback, TParser } from './definitions'; /** A class that represents a series of conditions */ export declare class When { /** The validators */ protected readonly _validators: TValidator[]; /** The parsers */ protected readonly _parsers: TParser[]; /** The validator callback (when valid) */ protected readonly _validCallbacks: TValidatorCallback[]; /** The validator callback (when invalid) */ protected readonly _invalidCallbacks: TValidatorCallback[]; /** @param fns functions for When */ constructor({ validate, parse, validCallback, invalidCallback }?: { validate?: TValidator[]; parse?: TParser[]; validCallback?: TValidatorCallback[]; invalidCallback?: TValidatorCallback[]; }); /** Returns a new When instance based on this, with one more validator and/or parser */ protected deriveFromType(derivation: { validate?: TValidator; parse?: TParser; validCallback?: TValidatorCallback; invalidCallback?: TValidatorCallback; }): T; /** Validate a context */ validate(ctx: any, ...extraArgs: any[]): Promise; /** Parse a context */ parse(ctx: any, ...extraArgs: any[]): Promise; }