import { TypeResolver } from './metadata'; import { OptionsBase } from './options-base'; import { TypeDescriptor } from './type-descriptor'; import { IndexedObject, Serializable } from './types'; export declare function defaultTypeResolver(sourceObject: IndexedObject, knownTypes: Map): Function | undefined; export declare type DeserializerFn = (sourceObject: Raw, typeDescriptor: TypeDescriptor, knownTypes: Map, memberName: string, deserializer: Deserializer, memberOptions?: OptionsBase) => T; /** * Utility class, converts a simple/untyped javascript object-tree to a typed object-tree. * It is used after parsing a JSON-string. */ export declare class Deserializer { options?: OptionsBase; private typeResolver; private nameResolver?; private errorHandler; private deserializationStrategy; setDeserializationStrategy(type: Serializable, deserializer: DeserializerFn): void; setNameResolver(nameResolverCallback: (ctor: Function) => string): void; setTypeResolver(typeResolverCallback: TypeResolver): void; getTypeResolver(): TypeResolver; setErrorHandler(errorHandlerCallback: (error: Error) => void): void; getErrorHandler(): (error: Error) => void; convertSingleValue(sourceObject: any, typeDescriptor: TypeDescriptor, knownTypes: Map, memberName?: string, memberOptions?: OptionsBase): any; instantiateType(ctor: any): any; mergeKnownTypes(...knownTypeMaps: Array>): Map; createKnownTypesMap(knowTypes: Set): Map; retrievePreserveNull(memberOptions?: OptionsBase): boolean; } //# sourceMappingURL=deserializer.d.ts.map