import { ClassTransformOptions } from "./ClassTransformOptions"; export declare type ClassType = { new (...args: any[]): T; }; export declare class ClassTransformer { /** * Converts class (constructor) object to plain (literal) object. Also works with arrays. */ classToPlain(object: T, options?: ClassTransformOptions): Object; classToPlain(object: T[], options?: ClassTransformOptions): Object[]; /** * Converts class (constructor) object to plain (literal) object. * Uses given plain object as source object (it means fills given plain object with data from class object). * Also works with arrays. */ classToPlainFromExist(object: T, plainObject: P, options?: ClassTransformOptions): T; classToPlainFromExist(object: T, plainObjects: P[], options?: ClassTransformOptions): T[]; /** * Converts plain (literal) object to class (constructor) object. Also works with arrays. */ plainToClass>(cls: ClassType, plain: V, options?: ClassTransformOptions): T[]; plainToClass(cls: ClassType, plain: V, options?: ClassTransformOptions): T; /** * Converts plain (literal) object to class (constructor) object. * Uses given object as source object (it means fills given object with data from plain object). * Also works with arrays. */ plainToClassFromExist>(clsObject: T, plain: V, options?: ClassTransformOptions): T; plainToClassFromExist(clsObject: T, plain: V, options?: ClassTransformOptions): T[]; /** * Converts class (constructor) object to new class (constructor) object. Also works with arrays. */ classToClass(object: T, options?: ClassTransformOptions): T; classToClass(object: T[], options?: ClassTransformOptions): T[]; /** * Converts class (constructor) object to plain (literal) object. * Uses given plain object as source object (it means fills given plain object with data from class object). * Also works with arrays. */ classToClassFromExist(object: T, fromObject: T, options?: ClassTransformOptions): T; classToClassFromExist(object: T, fromObjects: T[], options?: ClassTransformOptions): T[]; /** * Serializes given object to a JSON string. */ serialize(object: T, options?: ClassTransformOptions): string; serialize(object: T[], options?: ClassTransformOptions): string; /** * Deserializes given JSON string to a object of the given class. */ deserialize(cls: ClassType, json: string, options?: ClassTransformOptions): T; /** * Deserializes given JSON string to an array of objects of the given class. */ deserializeArray(cls: ClassType, json: string, options?: ClassTransformOptions): T[]; }