export type Constructor = new (...args: any[]) => T; export interface IBrainSerializer { brainSerialize(obj: T): string; brainDeserialize(str: string): void; } export default class BrainSerializer> { private readonly registry; addSerializer(type: Constructor, serializerData: IBrainSerializer): void; private getSerializer; serialize(state: T): string; deserialize(stringSerializedState: string, state: Record): void; }