import { AbstractEventSourcedAggregateRoot, AggregateMessageConsumer, IConsumedMessageRepository, IDomainEventRepository, IInboundMessageMapper, IMessageConsumer, ITransactionManager, type HandleMessage, type HandleMessageOptions, type RemoveAbstract } from "@dugongjs/core";
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);
    getAggregateMessageConsumer<TAggregateRootClass extends RemoveAbstract<typeof AbstractEventSourcedAggregateRoot>>(aggregateClass: TAggregateRootClass): AggregateMessageConsumer<TAggregateRootClass, any>;
    registerMessageConsumerForAggregate<TAggregateRootClass extends RemoveAbstract<typeof AbstractEventSourcedAggregateRoot>>(aggregateClass: TAggregateRootClass, consumerName: string, handleMessage?: HandleMessage, options?: HandleMessageOptions): Promise<void>;
}
