import { ConnectionFactoryRabbitMQ } from '../connection/connection.factory.rabbitmq'; import { BusMessage } from './bus.message'; import { Exchange } from './exchange'; import * as AmqpLib from 'amqplib/callback_api'; import { IActivateConsumerOptions, IDeleteResult, IQueueInitializeResult, IQueueOptions, IStartConsumerOptions, IStartConsumerResult } from '../../../application/port/queue.option.interface'; import { IBinding } from '../../port/bus/binding.interface'; export declare class Queue { private _initialized; private _connection; private _channel; private _name; private _options; private _consumer; private _isStartConsumer; private _rawConsumer; private _consumerOptions; private _consumerTag; private _consumerInitialized; private _consumerStopping; private _deleting; private _closing; constructor(connection: ConnectionFactoryRabbitMQ, name: string, options?: IQueueOptions); get connection(): ConnectionFactoryRabbitMQ; get channel(): AmqpLib.Channel; get name(): string; get options(): IQueueOptions; get consumer(): (msg: any, channel?: AmqpLib.Channel) => any; get consumerInitialized(): Promise; get initialized(): Promise; _initialize(): void; private static _packMessageContent; private static _unpackMessageContent; publish(content: any, options?: any): void; send(message: BusMessage, routingKey?: string): void; rpc(requestParameters: any): Promise; prefetch(count: number): void; recover(): Promise; startConsumer(onMessage: (msg: any, channel?: AmqpLib.Channel) => any, options?: IStartConsumerOptions): Promise; activateConsumer(onMessage: (msg: BusMessage) => any, options?: IActivateConsumerOptions): Promise; _initializeConsumer(): void; stopConsumer(): Promise; delete(): Promise; close(): Promise; bind(source: Exchange, pattern?: string, args?: any): Promise; unbind(source: Exchange, pattern?: string, args?: any): Promise; }