import joi from 'joi'; import { ValidationSchemas } from '../../../domain'; export declare type ValidationOptions = joi.ValidationOptions; export declare type ValidationError = Pick; export interface ValidationResult { error?: ValidationError; warning?: ValidationError; value: any; } export interface JoiValidate { (value: { value: any; }, options?: ValidationOptions): ValidationResult; } export declare type OverwriteValidate = Omit & { validate(value: { value: any; }, options?: ValidationOptions): ValidationResult; }; export declare type JoiSchema = { string: joi.StringSchema; number: joi.NumberSchema; object: joi.ObjectSchema; array: joi.ArraySchema; }[T]; export declare type Joi = typeof joi;