/// import * as Amqp from 'amqplib'; export interface AmqpExchangeConfig { exchange: string; type: string; options: Amqp.Options.AssertExchange; } export interface AmqpQueueConfig { queue: string; options: Amqp.Options.AssertQueue; } export interface AmqpBindingConfig { exchange: string; queue: string; } export interface AmqpConnectionConfig { user: string; password: string; host: string; port: number; vhost: string; protocol?: string; params?: { heartbeat: number; }; socket_options?: { cert: Buffer; key: Buffer; passphrase: string; ca: Buffer[]; }; } export interface AmqpConfig { connection: AmqpConnectionConfig; exchanges: AmqpExchangeConfig[]; queues: AmqpQueueConfig[]; bindings: AmqpBindingConfig[]; channel_timeout: number; }