interface Deserializer { fromJSON?: (obj: any) => any; } export declare class Serializer { toJSON(exclude?: string[]): unknown; fromJSON(obj: K extends string ? never : K): this; static fromJSON(this: new () => T, obj: K extends string ? never : K): T; } export declare function serializable(deserializer?: Deserializer, mapTo?: string): (target: any, propertyKey: string) => void; export declare function displayName(name: string): (target: any) => void; export {};