import { type DynamicModule } from "@nestjs/common";
import type { ConsumedMessageRepositoryProvider, DomainEventRepositoryProvider, MessageProducerProvider, ModuleInjectables, OutboundMessageMapperProvider, SnapshotRepositoryProvider, TransactionManagerProvider } from "../providers/module-providers.js";
export type EventSourcingModuleOptions = {
    global?: boolean;
    module?: ModuleInjectables;
    transactionManager?: Partial<TransactionManagerProvider>;
    repository?: Partial<DomainEventRepositoryProvider> & Partial<SnapshotRepositoryProvider> & Partial<ConsumedMessageRepositoryProvider>;
    messageBroker?: Partial<MessageProducerProvider> & Partial<OutboundMessageMapperProvider>;
};
export declare class EventSourcingModule {
    static register(options?: EventSourcingModuleOptions): DynamicModule;
}
