import { IEvent, IEventHandler } from './interfaces'; import { Type } from '@nestjs/common'; declare const INTERNAL_EVENTS: unique symbol; declare const IS_AUTO_COMMIT_ENABLED: unique symbol; export declare abstract class AggregateRoot { [IS_AUTO_COMMIT_ENABLED]: boolean; private readonly [INTERNAL_EVENTS]; set autoCommit(value: boolean); get autoCommit(): boolean; publish(event: T): void; publishAll(event: T[]): void; commit(): void; uncommit(): void; getUncommittedEvents(): EventBase[]; loadFromHistory(history: EventBase[]): void; apply(event: T, isFromHistory?: boolean): void; protected getEventHandler(event: T): Type | undefined; protected getEventName(event: any): string; } export {};