import type Kafka from "kafkajs";
import type { KafkaTopicName } from "../libs/branded-types/kafka/index.js";
import type { KafkaWithLogger, KafkaBrokerConfig } from "./kafka-broker.js";
import { KTKafkaBroker } from "./kafka-broker.js";
export type KTKafkaConsumerConfig = {
    kafkaSettings: {
        consumerGroupId: string;
        subscribeRetries?: number;
        subscribeRetryInterval?: number;
        heartbeatInterval?: number;
        partitionsConsumedConcurrently?: number;
    };
} & KafkaBrokerConfig;
declare class KTKafkaConsumer extends KTKafkaBroker {
    #private;
    consumer: Kafka.Consumer;
    constructor(params: KafkaWithLogger<KTKafkaConsumerConfig>);
    isConnected(): boolean;
    init(): Promise<boolean>;
    destroy(): Promise<void>;
    subscribeTopic(topics: KafkaTopicName[]): Promise<void>;
}
export { KTKafkaConsumer };
