import { StoreRepositoryInterface } from './StoreRepositoryInterface'; import { Identity } from 'ts-eventsourcing/ValueObject/Identity'; import { ReadModelAction, ReadModelMetadata } from './ReadModelAction'; import { ActionStream } from './ActionStream'; export interface ActionRepositoryInterface = ReadModelMetadata, Action extends ReadModelAction = ReadModelAction> extends StoreRepositoryInterface { load(id: Id): ActionStream; loadFromPlayhead(id: Id, playhead: number): ActionStream; append(id: Id, eventStream: ActionStream): Promise; }