import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';
export declare class RabbitMqService {
    static instance: RabbitMqService;
    waitAckownledge: Record<string, {
        count: number;
        responses: Record<string, any>;
        resolve: (data: Record<string, any>) => void;
        reject: (error: any) => void;
    }>;
    amqpConnection: AmqpConnection;
    microServiceName: string;
    ackAttached: boolean;
    static get(): Promise<RabbitMqService>;
    private constructor();
    private init;
    private get ackQueueName();
    dispatchMessage(messagePattern: string, userId: string, id: string, payload?: Record<string, any>, requireAck?: boolean): Promise<Record<string, any>>;
    private handleAckResponse;
    sendAck(message: any): void;
}
export declare function HakuSubscribe(options: {
    routingKey: string;
}): MethodDecorator;
