import { E as Events } from './overrides-6Hxg764S.js'; import * as valleyed from 'valleyed'; import { PipeOutput } from 'valleyed'; type StreamOptions = { skipScope?: boolean; fanout: boolean; }; declare abstract class EventBus { abstract createStream(topic: Event['topic'], options?: Partial): { publish: (data: Event['data']) => Promise; subscribe: (onMessage: (data: Event['data']) => Promise) => void; }; } declare const rabbitmqConfigPipe: () => valleyed.Pipe<{ uri: string; eventColumnName: string; }, { uri: string; eventColumnName: string; }>; declare const kafkaConfigPipe: () => valleyed.Pipe<{ brokers: string[]; ssl: boolean | undefined; sasl: { mechanism: "plain"; username: string; password: string; } | undefined; clientId: string | undefined; }, { brokers: string[]; ssl: boolean | undefined; sasl: { mechanism: "plain"; username: string; password: string; } | undefined; clientId: string | undefined; }>; type KafkaConfig = PipeOutput>; type RabbitMQConfig = PipeOutput>; declare class KafkaEventBus extends EventBus { #private; constructor(config: KafkaConfig); createStream(topicName: Event['topic'], options?: Partial): { publish: (data: Event["data"]) => Promise; subscribe: (onMessage: (data: Event["data"]) => Promise) => void; }; } export { EventBus as E, KafkaEventBus as K, type RabbitMQConfig as R, type StreamOptions as S, type KafkaConfig as a, kafkaConfigPipe as k, rabbitmqConfigPipe as r };