import { CustomDeserializerParams, CustomSerializerParams } from './metadata'; import { OptionsBase } from './options-base'; import { MapOptions, MaybeTypeThunk } from './type-descriptor'; export interface IJsonMapMemberOptions extends OptionsBase, Partial { /** When set, indicates that the member must be present when deserializing. */ isRequired?: boolean | null; /** When set, a default value is emitted for each uninitialized json member. */ emitDefaultValue?: boolean | null; /** When set, the key on the JSON that should be used instead of the class property name */ name?: string | null; /** * When set, this deserializer will be used to deserialize the member. The callee must assure * the correct type. */ deserializer?: ((json: any, params: CustomDeserializerParams) => any) | null; /** When set, this serializer will be used to serialize the member. */ serializer?: ((value: any, params: CustomSerializerParams) => any) | null; } /** * Specifies that the property is part of the object when serializing. * Use this decorator on properties of type Map. * @param maybeKeyThunk Constructor of map keys (e.g. 'Number' for 'Map'). * @param maybeValueThunk Constructor of map values (e.g. 'Date' for 'Map'). * @param options Additional options. */ export declare function jsonMapMember(maybeKeyThunk: MaybeTypeThunk, maybeValueThunk: MaybeTypeThunk, options?: IJsonMapMemberOptions): (target: Object, propKey: string | symbol) => void; //# sourceMappingURL=json-map-member.d.ts.map