import { Counter, Histogram } from 'prom-client'; import { RabbitmqClient } from './RabbitmqClient'; import { RabbitmqConsumerConfig, RabbitmqClientConfig } from './RabbitmqConfig'; import { RepliesConsume } from './RabbitmqClient'; import { RabbitmqConsumerHandler, Message } from './RabbitmqConsumerHandler'; export declare class RabbitmqConsumer extends RabbitmqClient { consumeFailuresDelayed: Counter.Internal; consumeFailuresDLQ: Counter.Internal; consumeFailures: Counter.Internal; consumeDurationHistogram: Histogram.Internal; protected consumerConfig: RabbitmqConsumerConfig; protected messageHandler: RabbitmqConsumerHandler; constructor(clientConfig: RabbitmqClientConfig, name: string, consumerConfig: RabbitmqConsumerConfig, handler: RabbitmqConsumerHandler); init(): Promise; /** * Subscribe to a queue */ subscribe(queueName: string, consumerConfig: RabbitmqConsumerConfig): Promise; handleMessage(message: Message): Promise; sendMessageToDlq(message: Message): void; sendMessageToDelayedQueue(message: Message, retriesCount: number, e: Error): void; stringyifyMessageContent(message: Message): string; /** * * @param retriesCount number * @reutrn number in milliseconds */ getTtl(retriesCount?: number): number; allowRetry(retriesCount: number): boolean; close(): Promise; }