import type { Logger } from "pino"; import type { KTHandler } from "../kafka/consumer-handler.js"; import type { KafkaBrokerConfig, KafkaLogger } from "../kafka/kafka-broker.js"; import type { KTKafkaConsumerConfig } from "../kafka/kafka-consumer.js"; import { KTKafkaConsumer } from "../kafka/kafka-consumer.js"; import { KTKafkaProducer } from "../kafka/kafka-producer.js"; import type { KTTopicBatchPayload } from "../kafka/topic-batch.js"; import { type KTTopicEvent, type KTTopicPayloadWithMeta } from "../kafka/topic.js"; import { KafkaTopicName } from "../libs/branded-types/kafka/index.js"; type KTOtelApi = Pick; declare class KTMessageQueue { #private; constructor(params?: { ctx: () => Ctx & { logger?: Logger; }; tracingSettings?: { otel?: KTOtelApi; addPayloadToTrace: boolean; }; }); getConsumer(): KTKafkaConsumer | undefined; getProducer(): KTKafkaProducer | undefined; getAdmin(): import("kafkajs").Admin | undefined; initProducer(params: KafkaBrokerConfig): Promise; initConsumer(params: KTKafkaConsumerConfig): Promise; destroyAll(): Promise; destroyProducer(): Promise; destroyConsumer(): Promise; initTopics(topicEvents: KTTopicEvent[]): Promise; getRegisteredHandler(topic: KafkaTopicName): KTHandler | undefined; registerHandlers(mqHandlers: KTHandler[]): void; publishSingleMessage(topic: KTTopicPayloadWithMeta): Promise; publishBatchMessages(topic: KTTopicBatchPayload): Promise; } export { KTMessageQueue };