import { AggregateId } from '../../../api/tactical/aggregate/aggregate-id'; import { AggregateRoot } from '../../../api/tactical/aggregate/aggregate-root'; import { AggregateStore } from '../../../domain/command/store/aggregate.store'; import { InMemoryStore } from '../in-memory.store'; import { Optional } from '../../../../common/optional'; export declare abstract class InMemoryAggregateStore> extends AggregateStore { private readonly inMemoryStore; private readonly aggregateStoreRegister; protected constructor(inMemoryStore: InMemoryStore); save(aggregate: T): void; save(aggregates: Array): void; findById(aggregateId: I): Optional; remove(aggregateId: I): void; }