import { Input } from '../config/definitions/parts/inputConfig'; import { ValidationCheckPair } from "../controller/controllerDefinitions"; export declare type ConsumeInputFunction = (input: any) => Promise; export declare type ValidateInputFunction = (input: any) => Promise; export declare type InputValidationCheckFunction = (checkData: ValidationCheckPair[]) => Promise; /** * A class that provides methods for creating closures to consume the input. */ export default class InputClosureCreator { /** * Creates a closure to consume the input (validate and format). * @param inputDefinition * @param errorCollectionLimit */ static createInputConsumer(inputDefinition?: Input, errorCollectionLimit?: number): ConsumeInputFunction; /** * Creates a closure to validate the input. * @param inputDefinition * @param errorCollectionLimit */ static createInputValidator(inputDefinition?: Input, errorCollectionLimit?: number): ValidateInputFunction; /** * Creates a closure to only validate the input from a validation request to a component. * @param inputDefinition * @param errorCollectionLimit */ static createValidationChecker(inputDefinition?: Input, errorCollectionLimit?: number): InputValidationCheckFunction; }