import { IConstructable, SerializableType, SerializeFn, ISerializer, CerializrAsJsonOptions } from "./interfaces"; export declare function serializeUsing(serializer: SerializeFn, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function serializeAs(type: SerializableType, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function serializeAsArray(type: SerializableType, keyName?: string): (target: any, actualKeyName: string) => any; export declare function serializeAsMap(type: SerializableType, keyName?: string): (target: any, actualKeyName: string) => any; export declare function serializeAsJson({ keyName, transformKey }?: Partial): (target: IConstructable, actualKeyName: string) => void; export declare function deserializeUsing(serializer: SerializeFn, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function deserializeAs(type: SerializableType, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function deserializeAsArray(type: SerializableType, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function deserializeAsMap(type: SerializableType, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function deserializeAsJson({ keyName, transformKey }?: Partial): (target: IConstructable, actualKeyName: string) => void; export declare function autoserializeUsing(serializer: ISerializer, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function autoserializeAs(type: SerializableType, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function autoserializeAsArray(type: SerializableType, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function autoserializeAsMap(type: SerializableType, keyName?: string): (target: IConstructable, actualKeyName: string) => void; export declare function autoserializeAsJson({ keyName, transformKey }?: Partial): (target: IConstructable, actualKeyName: string) => void; export declare function inheritSerialization(parentType: IConstructable): (childType: Function) => void;