///
import { Binding, Constructor, Provider } from '@loopback/core';
import { EventEmitter } from 'events';
/**
* Interface for a Queue Consumer to implement
*/
export interface QueueConsumer {
consumer?: EventEmitter;
subscriber?: EventEmitter;
/**
* Name of the queue
*/
readonly name: string;
/**
* Number of messages to be consumed at a time
*/
readonly count?: number;
/**
* Method called when server start, to consume queue
*/
[key: string]: any;
}
export declare type QueueComponentConfig = {
consumers?: Constructor>[];
};
/**
* A `BindingTemplate` function to configure the binding as a Queue Consumer.
*
* @param binding - Binding object
*/
export declare function asQueueConsumer(binding: Binding): Binding;
export declare type ConsumerClass = Constructor;