import { Deserialize } from './de'; import { Serialize } from './ser'; export declare class Registry { serializers: Map<Function, Serialize<any, any>>; deserializers: Map<Function, Deserialize<any>>; registerSerialize<T, U>(ctor: Function, serialize: Serialize<T, U>): void; registerDeserialize<T>(ctor: Function, deserialize: Deserialize<T>): void; } export declare const GlobalRegistry: Registry; export declare const registerSerialize: <T, U>(ctor: Function, serialize: Serialize<T, U>) => void; export declare const registerDeserialize: <T>(ctor: Function, deserialize: Deserialize<T>) => void; export declare function getSerialize<T, U>(value: U, fallback: Serialize<T, U>, registry: Registry): Serialize<T, U>; export declare function getDeserialize<T, U>(value: U, fallback: Deserialize<T>, registry: Registry): Deserialize<T>;