import type { Database } from 'better-sqlite3'; import type { IIdentifierProvider, IEvent, IEventSet, EventQueryAfter, IEventStorageReader, IEventStream, Identifier, IDispatchPipelineProcessor, DispatchPipelineBatch, AggregateEventsQueryParams } from '../interfaces/index.ts'; import { AbstractSqliteAccessor } from './AbstractSqliteAccessor.ts'; export declare class SqliteEventStorage extends AbstractSqliteAccessor implements IEventStorageReader, IIdentifierProvider, IDispatchPipelineProcessor { #private; protected initialize(db: Database): void; getNewId(): string; commitEvents(events: IEventSet, options?: { ignoreConcurrencyError?: boolean; meta?: Record | null; }): Promise; getAggregateEvents(aggregateId: Identifier, options?: AggregateEventsQueryParams): IEventStream; getSagaEvents(sagaId: Identifier, { beforeEvent }: { beforeEvent: IEvent; }): IEventStream; getEventsByTypes(eventTypes: Readonly, options?: EventQueryAfter): IEventStream; process(batch: DispatchPipelineBatch): Promise; }