import type { DomainEntity } from '../instantiation/DomainEntity'; import type { DomainEvent } from '../instantiation/DomainEvent'; export type DomainObjectShape = Record; export interface Refable extends DomainEntity, DomainEvent { new (props: TShape): TShape; primary: TPrimary; unique: TUnique; }