import { type IMessageConsumer } from "@dugongjs/core";
import { Kafka, type ConsumerConfig, type ConsumerRunConfig, type ConsumerSubscribeTopics, type EachMessagePayload } from "kafkajs";
import { MessageChannelParticipantKafkaJS } from "../../common/message-broker/message-channel-participator-kafkajs.js";
export declare class MessageConsumerKafkaJS extends MessageChannelParticipantKafkaJS implements IMessageConsumer<EachMessagePayload> {
    private readonly kafka;
    private readonly consumerConfig?;
    private readonly consumerSubscribeTopics?;
    private readonly consumerRunConfig?;
    private consumers;
    constructor(kafka: Kafka, consumerConfig?: ConsumerConfig | undefined, consumerSubscribeTopics?: ConsumerSubscribeTopics | undefined, consumerRunConfig?: ConsumerRunConfig | undefined);
    generateMessageConsumerIdForAggregate(origin: string, aggregateType: string, consumerName: string): string;
    registerDomainEventMessageConsumer(channelId: string, consumerId: string, onMessage?: (message: EachMessagePayload) => Promise<void>): Promise<void>;
    disconnect(): Promise<void>;
}
