import { RmqContext } from '../ctx-host'; import { RmqEvents, RmqStatus } from '../events/rmq.events'; import { RmqUrl } from '../external/rmq-url.interface'; import { MessageHandler, RmqOptions, TransportId } from '../interfaces'; import { ReadPacket } from '../interfaces/packet.interface'; import { Server } from './server'; type AmqpConnectionManager = any; type ChannelWrapper = any; type Channel = any; /** * @publicApi */ export declare class ServerRMQ extends Server { protected readonly options: Required['options']; transportId: TransportId; protected server: AmqpConnectionManager | null; protected channel: ChannelWrapper | null; protected connectionAttempts: number; protected readonly urls: string[] | RmqUrl[]; protected readonly queue: string; protected readonly noAck: boolean; protected readonly queueOptions: any; protected readonly wildcardHandlers: Map>; protected pendingEventListeners: Array<{ event: keyof RmqEvents; callback: RmqEvents[keyof RmqEvents]; }>; constructor(options: Required['options']); listen(callback: (err?: unknown, ...optionalParams: unknown[]) => void): Promise; close(): Promise; start(callback?: (err?: unknown, ...optionalParams: unknown[]) => void): Promise; createClient(): T; private registerConnectListener; private registerDisconnectListener; setupChannel(channel: Channel, callback: Function): Promise; handleMessage(message: Record, channel: any): Promise; handleEvent(pattern: string, packet: ReadPacket, context: RmqContext): Promise; sendMessage(message: T, replyTo: any, correlationId: string, context: RmqContext): void; unwrap(): T; on(event: EventKey, callback: EventCallback): void; getHandlerByPattern(pattern: string): MessageHandler | null; protected initializeSerializer(options: RmqOptions['options']): void; private parseMessageContent; protected initializeWildcardHandlersIfExist(): void; private matchRmqPattern; } export {};