import { Logger } from 'winston'; import { Constructor } from '@dolittle/types'; import { EventSourceIdLike, IEventStore, IEventTypes } from '@dolittle/sdk.events'; import { AggregateRoot } from '../AggregateRoot'; import { IAggregateOf } from '../IAggregateOf'; import { IAggregateRootTypes } from '../IAggregateRootTypes'; import { IAggregateRootOperations } from '../IAggregateRootOperations'; import { IAggregates } from './IAggregates'; /** * Represents an implementation of {@link IAggregates}. */ export declare class Aggregates extends IAggregates { private readonly _aggregateRootTypes; private readonly _eventTypes; private readonly _eventStore; private readonly _logger; /** * Initialises a new instance of the {@link Aggregates} class. * @param {IAggregateRootTypes} _aggregateRootTypes - For aggregate root types resolution. * @param {IEventTypes} _eventTypes - For event types resolution. * @param {IEventStore} _eventStore - The event store to use to fetch committed aggregate events. * @param {Logger} _logger - For logging. */ constructor(_aggregateRootTypes: IAggregateRootTypes, _eventTypes: IEventTypes, _eventStore: IEventStore, _logger: Logger); /** @inheritdoc */ get(type: Constructor, eventSourceId: EventSourceIdLike): IAggregateRootOperations; /** @inheritdoc */ of(type: Constructor): IAggregateOf; } //# sourceMappingURL=Aggregates.d.ts.map