UNPKG

@caidrive/shared

Version:

caidrive.shared.components

39 lines (38 loc) 664 B
/** * What it does. * * @param name - Parameter description. * @returns Type and description of the returned object. * * @example * ``` * Write me later. * ``` */ import { Entity } from "./entity"; import { UniqueId } from "./unique.id"; import { IDomainEvent } from "../domain.events"; export declare abstract class AggregateRoot<T> extends Entity<T> { /** * */ abstract get id(): { value: UniqueId; }; /** * */ private domainEvents; /** * */ get events(): IDomainEvent[]; /** * */ addEvent(event: IDomainEvent): void; /** * */ clearEvents(): void; }