import { Transport } from '../enums';
import { CustomTransportStrategy, RmqOptions } from '../interfaces';
import { Server } from './server';
export declare class ServerRMQ extends Server implements CustomTransportStrategy {
    private readonly options;
    readonly transportId = Transport.RMQ;
    private server;
    private channel;
    private readonly urls;
    private readonly queue;
    private readonly prefetchCount;
    private readonly queueOptions;
    private readonly isGlobalPrefetchCount;
    constructor(options: RmqOptions['options']);
    listen(callback: () => void): Promise<void>;
    close(): void;
    start(callback?: () => void): Promise<void>;
    createClient<T = any>(): T;
    setupChannel(channel: any, callback: Function): Promise<void>;
    handleMessage(message: Record<string, any>, channel: any): Promise<void>;
    sendMessage<T = any>(message: T, replyTo: any, correlationId: string): void;
}
