import { IEventQueryOptions } from "../query/event-query-options"; import { QueryDto } from "../query/query.dto"; import { AdvancedResultSet, ResultSet } from "../query/result-set"; import { DomainEvent } from "./domain.event"; export interface IRepository { findAsync(id: string): Promise; findAllAsync(options?: QueryDto): Promise>; findEventsAsync(options: IEventQueryOptions): Promise | AdvancedResultSet>; saveAsync(entities: T[]): Promise; }