Module Amqp_client_eio.Exchange

type 'a t
type 'a exchange_type
val direct_t : ( queue:string -> unit ) exchange_type
val fanout_t : unit exchange_type
val topic_t : ( topic:string -> unit ) exchange_type
val match_t : ( headers:Types.header list -> unit ) exchange_type
val default : ( queue:string -> unit ) t
val amq_direct : ( queue:string -> unit ) t
val amq_fanout : unit t
val amq_topic : ( topic:string -> unit ) t
val amq_match : ( headers:Types.header list -> unit ) t
val declare : ?passive:bool -> ?durable:bool -> ?auto_delete:bool -> ?internal:bool -> 'b Channel.t -> 'a exchange_type -> ?arguments:Types.table -> string -> 'a t
val delete : 'a Channel.t -> ?if_unused:bool -> 'b t -> unit
val bind : 'b Channel.t -> destination:'c t -> source:'a t -> 'a
val unbind : 'b Channel.t -> destination:'c t -> source:'a t -> 'a
val publish : _ t -> 'a Channel.t -> ?mandatory:bool -> routing_key:string -> Message.content -> 'a