import { type Consumer, type ConsumerConfig, type KafkaConfig, Kafka } from 'kafkajs'; export type { Consumer }; export type KafkaMessage = { message: { headers: { [key: string]: string; }; value: { [key: string]: any; }; key: Buffer | null; timestamp: string; attributes: number; offset: string; size?: number; }; topic: string; }; export declare class KafkaClient extends Kafka { static fromConfig(config: { clientId: string; brokers: string[]; }, consumerConfig: { groupId: string; }): KafkaClient; private _client; get client(): Consumer; setupClient(topics: string[], fromBeginning?: boolean): Promise; consumeMessages(messages: KafkaMessage[]): void; waitForMessages(messages: KafkaMessage[], config?: { number: number; delay: number; }): Promise; setupTopics(topics: string[]): Promise; tearDownTopics(topics: string[]): Promise; constructor(config: KafkaConfig, consumerConfig: ConsumerConfig); }