import { Moment } from "moment"; import AggregateRoot from "./AggregateRoot"; import Entity from "./Entity"; import Event from "./Event"; import ValueObject from "./ValueObject"; export interface IEvent { id: string; correlationId: string; raisedOn: Moment; type: string; data: TEventData; } export interface IIdentity { id: string; } export interface ICreatedOn { createdOn: Moment; } export interface IAggregateRoot { enqueuedEvents: Array>; publishEvent(event: IEvent): void; } declare const _default: { ValueObject: typeof ValueObject; Entity: typeof Entity; AggregateRoot: typeof AggregateRoot; Event: typeof Event; }; export default _default;