import { ConsultationResult, ConsultationError } from './Consultation'; import { Rule, RuleCollection, ValidateMethod } from './Rule'; export declare type ValidationOutputType = { commandId?: string; values: { [key: string]: any; }; errors: { [key: string]: Array; }; argvRemainder: { [key: string]: any; }; }; export declare class Validator { static getArgvKeys(rule: Rule, key: string, condition: (key: string) => boolean): Array; static executeValidatorSingle(validatorFunc: ValidateMethod, childKey: any, value: any): Promise>; static executeValidator(validatorFunc: ValidateMethod, childKey: any, value: any): Promise>; static prepareValue(value: any[], childKey: string, child: Rule): Promise<{ value: any; errors?: Array; }>; processSingleParameter(childKey: string, child: Rule, argv: { [key: string]: any; }): Promise<{ values: { [key: string]: any; }; errors?: Array; argvRemainder: { [key: string]: any; }; }>; processParameters(children: RuleCollection, argv: { [key: string]: any; }): Promise<{ values: { [key: string]: any; }; errors?: { [key: string]: Array; }; argvRemainder: { [key: string]: any; }; }>; processSingleCommand(childKey: string, child: Rule, argv: { [key: string]: any; }): { commandKey?: string; argvRemainder: { [key: string]: any; }; }; processCommands(children: RuleCollection, argv: { [key: string]: any; }): { commandKey?: string; argvRemainder: { [key: string]: any; }; }; validateSingle(rule: Rule, argv: { [key: string]: any; }): Promise; validate(rules: Rule, argv: { [key: string]: any; }): Promise; } export default Validator;