import type { DomainObjectInstantiationOptions } from '../../instantiation/DomainObject'; import type { DomainObject } from '../../manipulation/..'; import type { WithImmute } from '../../manipulation/immute/withImmute'; export declare class DeserializationMissingDomainObjectClassError extends Error { constructor({ className }: { className: string; }); } /** * Revives the domain objects stored in a string produced by the `serialize` method * * Use Cases: * - persistance * - e.g., deserialize domain objects from a string that was saved to a persistant store (i.e., a string produced by the `serialize` method) */ export declare const deserialize: (serialized: string, context?: { with?: DomainObject[]; } & DomainObjectInstantiationOptions) => WithImmute;