import amqplib, { Channel, Connection, ConsumeMessage } from 'amqplib'; declare class RabbitMQ { private static instance; private constructor(); static getInstance(): RabbitMQ; channel: Channel; connection: Connection; private eventFunction; connect(connectionURL: string, queueName: string, consumeOptions?: amqplib.Options.Consume): Promise; consume: (msg: ConsumeMessage | null) => void; publish(queueName: string, event: string, content: Object, options?: amqplib.Options.Publish): void; onEvent(eventName: string, onMessage: (msg: Record | null) => void): void; createExchange(name: string, type: 'direct' | 'topic' | 'headers' | 'fanout' | 'match', options?: amqplib.Options.AssertExchange): Promise; bindQueueToExchange(queueName: string, exchangeName: string, pattern: string): Promise; publishOnExchange(exchangeName: string, routingKey: string, event: string, content: Object, options?: amqplib.Options.Publish): void; private convertObjectToBuffer; private parseBufferToJSON; private handleBigInts; } declare const _default: RabbitMQ; export default _default;