rabbitmq-enterprise-toolkit
Version:
🚀 Enterprise-grade RabbitMQ wrapper for Node.js & TypeScript - High-throughput messaging with automatic retry, DLQ, batch processing & graceful shutdown. Production-ready AMQP client with zero message loss guarantee.
61 lines • 1.68 kB
TypeScript
import { RabbitMQConfig, QueueOptions, PublishOptions, RabbitMQInstance, ConnectionConfig, PublisherQueueOptions } from './types';
export declare class RabbitMQ implements RabbitMQInstance {
private config;
private connectionManager;
private publisher;
private consumer?;
private queueManager?;
private gracefulShutdown;
private registeredQueues;
private isInitialized;
private mode;
constructor(config: RabbitMQConfig);
/**
* Register queue consumer
*/
registerQueue(options: QueueOptions): Promise<void>;
/**
* Publish a message to queue
*/
publish(queueName: string, data: any, options?: PublishOptions): Promise<void>;
/**
* Check if connected
*/
isConnected(): boolean;
/**
* Get connection info
*/
getConnectionInfo(): ConnectionConfig | null;
/**
* Publisher-specific queue assertion
*/
assertQueue(options: PublisherQueueOptions): Promise<void>;
/**
* Check queue status
*/
checkQueue(queueName: string): Promise<{
messageCount: number;
consumerCount: number;
}>;
/**
* Publish to exchange
*/
publishToExchange(exchange: string, routingKey: string, data: any, options?: PublishOptions): Promise<void>;
/**
* Flush any pending batches
*/
flush(): Promise<void>;
/**
* Close connection
*/
close(): Promise<void>;
/**
* Ensure connection is established
*/
private ensureConnection;
/**
* Setup reconnection handler for registered queues
*/
private setupReconnectionHandler;
}
//# sourceMappingURL=rabbitmq.d.ts.map