@caidrive/shared
Version:
caidrive.shared.components
39 lines (38 loc) • 664 B
TypeScript
/**
* 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;
}