import { Type } from "@tsed/core"; import { JsonDeserializerOptions } from "./JsonDeserializerOptions.js"; import { CachedGroupsJsonMapper, CachedJsonMapper, JsonMapperCompiler } from "./JsonMapperCompiler.js"; /** * Deserializes raw JSON data into class instances based on schema metadata, * handling collections, discriminators, hooks, and registered type mappers. */ export declare class JsonDeserializer extends JsonMapperCompiler { /** * Cached classes by his id * @protected */ protected constructors: Record>; constructor(); map(input: any, options?: JsonDeserializerOptions): Model; compile(model: Type, groups: false | string[]): CachedJsonMapper; eval(mapper: string, { id, groupsId, model, storeGroups }: { id: string; model: Type | string; groupsId: string; storeGroups: CachedGroupsJsonMapper; }): CachedJsonMapper; protected newInstanceOf(id: string, obj: any, options: any): any; protected createMapper(model: Type, id: string, groups: false | string[]): string; protected alterValue(schemaId: string, value: any, options: JsonDeserializerOptions): any; private mapDiscriminator; private mapProperty; private getPropertyFiller; private mapOptions; private mapAdditionalProperties; private mapObject; private mapSet; private mapArray; private mapMap; private mapItem; private alterBeforeDeserialize; private alterAfterDeserialize; private mapGenericsOptions; }