import { ArraySettings, ValueModel } from "../../models/definitionModel"; import BackErrorBag from "../../../api/BackErrorBag"; export declare type ValueTypeValidateFunction = (input: any, errorBag: BackErrorBag, preparedErrorData: PreparedErrorData) => string | undefined; export declare type ValueValidateFunction = (input: any, errorBag: BackErrorBag, preparedErrorData: PreparedErrorData, type: string | undefined) => Promise; export declare type ArrayValidateFunction = (input: any[], errorBag: BackErrorBag, currentPath: string) => boolean; export interface PreparedErrorData { path: string; value: any; } export default class ValidatorCreator { /** * Creates a closure to validate the value validation functions. * @param config */ static createValueFunctionValidator(config: ValueModel): ValueValidateFunction; /** * Creates a closure to validate the value model type. * @param type * @param strictType */ static createValueTypeValidator(type: string | string[] | undefined, strictType: boolean): ValueTypeValidateFunction; /** * Creates a closure to validate an array. * @param arrayConfig */ static createArrayValidator(arrayConfig: ArraySettings): ArrayValidateFunction; }