import { DomainEvent } from '../../api/event/domain-event'; import { AggregateId } from '../../api/tactical/aggregate/aggregate-id'; import { HermesObservable } from '../../../common/stream/core/observable/hermes.observable'; export declare class DomainEventStore { private readonly domainEvents; private readonly domainEvents$; next(event: DomainEvent): void; findEventByType(eventType: string): DomainEvent; /** * First tries to find event in the history, * then method waits for future occurrences of the event. */ waitForEvent(eventType: string): HermesObservable>; waitForNextEventOccurrence(eventType: string): HermesObservable>; waitForNextEventOccurrence(event: DomainEvent): HermesObservable>; private getEvents; }