import { AggregateMessageConsumer, IConsumedMessageRepository, IDomainEventRepository, IInboundMessageMapper, IMessageConsumer, ITransactionManager, type EventSourcedAggregateRoot, type HandleMessage, type HandleMessageOptions } from "@dugongjs/core";
import type { ILoggerFactory } from "../logger/i-logger-factory.js";
export declare class AggregateMessageConsumerService {
    private readonly transactionManager;
    private readonly domainEventRepository;
    private readonly consumedMessageRepository;
    private readonly messageConsumer;
    private readonly inboundMessageMapper;
    private readonly currentOrigin;
    private readonly logger?;
    constructor(transactionManager: ITransactionManager, domainEventRepository: IDomainEventRepository, consumedMessageRepository: IConsumedMessageRepository, messageConsumer: IMessageConsumer<any>, inboundMessageMapper: IInboundMessageMapper<any>, currentOrigin: string, loggerFactory?: ILoggerFactory);
    getAggregateMessageConsumer<TAggregateRootClass extends EventSourcedAggregateRoot>(aggregateClass: TAggregateRootClass): AggregateMessageConsumer<TAggregateRootClass, any>;
    registerMessageConsumerForAggregate<TAggregateRootClass extends EventSourcedAggregateRoot>(aggregateClass: TAggregateRootClass, consumerName: string, handleMessage?: HandleMessage, options?: HandleMessageOptions): Promise<AggregateMessageConsumer<TAggregateRootClass, any>>;
}
