/** * Forked from [class-transformer-validator](https://github.com/MichalLytek/class-transformer-validator). * By [MichaƂ Lytek](https://github.com/MichalLytek). */ import { ValidatorOptions } from 'class-validator'; import { ClassTransformOptions } from 'class-transformer'; export declare type ClassType = new (...args: unknown[]) => T; export interface TransformValidationOptions { validator?: ValidatorOptions; transformer?: ClassTransformOptions; } /** * Asynchronously converts plain object to class (constructor) object. * Reject the promise if the object doesn't pass validation. * * @param {ClassType} classType The Class to convert object to * @param {string | object | object[]} somethingToTransform The string containing JSON, object, or array of objects to instantiate and validate * @param {TransformValidationOptions} [options] Optional options object for class-validator and class-transformer * @returns {Promise} Promise of object of given class T or array of objects given class T */ export declare function transformAndValidate(classType: ClassType, somethingToTransform: string | object | object[], options?: TransformValidationOptions): Promise; /** * Synchronously converts JSON string to class (constructor) object. * Throws error if the object parsed from string doesn't pass validation. * * @param {ClassType} classType The Class to parse and convert JSON to * @param {string | object | object[]} somethingToTransform The string containing JSON, object, or array of objects to instantiate and validate * @param {TransformValidationOptions} [options] Optional options object for class-validator and class-transformer * @returns {T|T[]} Object of given class T or array of objects given class T */ export declare function transformAndValidateSync(classType: ClassType, somethingToTransform: string | object | object[], options?: TransformValidationOptions): T | T[];