import { Kafka } from 'kafkajs'; import { IBrokerAdapter, BrokerMessage, MessageHandler } from '@syntropylog/types'; declare class KafkaAdapter implements IBrokerAdapter { private readonly producer; private readonly consumer; constructor(kafkaInstance: Kafka, groupId: string); connect(): Promise; disconnect(): Promise; publish(topic: string, message: BrokerMessage): Promise; subscribe(topic: string, handler: MessageHandler): Promise; } declare class RabbitMQAdapter implements IBrokerAdapter { private connection; private channel; private connectionString; private exchangeName; private consumerTags; constructor(connectionString: string, exchangeName?: string); connect(): Promise; disconnect(): Promise; publish(topic: string, message: BrokerMessage): Promise; subscribe(topic: string, handler: MessageHandler): Promise; unsubscribe(topic: string): Promise; } declare class NatsAdapter implements IBrokerAdapter { private readonly natsServers; private natsConnection; private codec; private subscriptions; constructor(natsServers?: string[]); connect(): Promise; disconnect(): Promise; publish(topic: string, message: BrokerMessage): Promise; subscribe(topic: string, handler: MessageHandler): Promise; unsubscribe(topic: string): Promise; private natsHeadersToRecord; private recordToNatsHeaders; } export { KafkaAdapter, NatsAdapter, RabbitMQAdapter };