import { type AsyncMessage, Connection, Consumer, ConsumerStatus } from 'rabbitmq-client'; import type { RabbitmqSubscribeParams, RabbitmqSubscriberFunction } from './rabbitmq'; export declare class RabbitmqSubscriber { readonly id: string; private readonly connection; private readonly params; private readonly subscriber; private readonly logger; private readonly consumer; private _isActive; /** * @return {string} */ get consumerTag(): string; /** * @return {Consumer["stats"]} */ get stats(): Consumer['stats']; /** * @return {boolean} */ get isActive(): boolean; /** * @param {string} id * @param {Connection} connection * @param {RabbitmqSubscribeParams} params * @param {RabbitmqSubscriberFunction} subscriber */ constructor(id: string, connection: Connection, params: RabbitmqSubscribeParams, subscriber: RabbitmqSubscriberFunction); /** */ start(): void; /** * @return {Promise} */ stop(): Promise; /** * @param {AsyncMessage} message * @return {Promise} * @private */ protected onMessage: (message: AsyncMessage) => Promise; /** * @param {AsyncMessage} message * @return {string | object | null} * @private */ private getMessageBody; }