// Path: conduit/src/main/java/io/rtr/conduit/amqp/AMQPAsyncConsumerCallback.java
// public interface AMQPAsyncConsumerCallback {
//     void handle(AMQPMessageBundle messageBundle, AsyncResponse response);
//     void notifyOfActionFailure(Exception e);
//     void notifyOfShutdown(String consumerTag, ShutdownSignalException sig);
// }


import io.rtr.conduit.amqp.AMQPAsyncConsumerCallback;
package io.rtr.conduit.amqp.impl;


public class AMQPAsyncListenProperties extends AMQPCommonListenProperties {
    private AMQPAsyncConsumerCallback callback;

    AMQPAsyncListenProperties(AMQPAsyncConsumerCallback callback, String exchange, String queue, boolean isAutoDeleteQueue, int threshold, int prefetchCount, boolean poisonQueueEnabled, boolean purgeOnConnect, boolean dynamicQueueCreation, String poisonPrefix, String dynamicQueueRoutingKey, boolean autoCreateAndBind, String exchangeType, String routingKey) {
        super(exchange, queue, isAutoDeleteQueue, threshold, prefetchCount, poisonQueueEnabled, purgeOnConnect, dynamicQueueCreation, poisonPrefix, dynamicQueueRoutingKey, autoCreateAndBind, exchangeType, routingKey);
        this.callback = callback;
    }
// Path: conduit/src/main/java/io/rtr/conduit/amqp/AMQPAsyncConsumerCallback.java
// public interface AMQPAsyncConsumerCallback {
//     void handle(AMQPMessageBundle messageBundle, AsyncResponse response);
//     void notifyOfActionFailure(Exception e);
//     void notifyOfShutdown(String consumerTag, ShutdownSignalException sig);
// }


// Path: conduit/src/main/java/io/rtr/conduit/amqp/impl/AMQPAsyncListenProperties.java
import io.rtr.conduit.amqp.AMQPAsyncConsumerCallback;

package io.rtr.conduit.amqp.impl;


public class AMQPAsyncListenProperties extends AMQPCommonListenProperties {
    private AMQPAsyncConsumerCallback callback;

    AMQPAsyncListenProperties(AMQPAsyncConsumerCallback callback, String exchange, String queue, boolean isAutoDeleteQueue, int threshold, int prefetchCount, boolean poisonQueueEnabled, boolean purgeOnConnect, boolean dynamicQueueCreation, String poisonPrefix, String dynamicQueueRoutingKey, boolean autoCreateAndBind, String exchangeType, String routingKey) {
        super(exchange, queue, isAutoDeleteQueue, threshold, prefetchCount, poisonQueueEnabled, purgeOnConnect, dynamicQueueCreation, poisonPrefix, dynamicQueueRoutingKey, autoCreateAndBind, exchangeType, routingKey);
        this.callback = callback;
    }
    public AMQPAsyncConsumerCallback getCallback() {