/// import * as events from "events"; import { ConsumeMessage, GetMessage, Message, Options, Replies, ServerProperties } from "./properties"; export * from "./properties"; export interface Connection extends events.EventEmitter { close(): Promise; createChannel(): Promise; createConfirmChannel(): Promise; connection: { serverProperties: ServerProperties; }; updateSecret(newSecret: Buffer, reason: string): Promise; } export interface Channel extends events.EventEmitter { connection: Connection; close(): Promise; assertQueue(queue: string, options?: Options.AssertQueue): Promise; checkQueue(queue: string): Promise; deleteQueue(queue: string, options?: Options.DeleteQueue): Promise; purgeQueue(queue: string): Promise; bindQueue(queue: string, source: string, pattern: string, args?: any): Promise; unbindQueue(queue: string, source: string, pattern: string, args?: any): Promise; assertExchange( exchange: string, type: "direct" | "topic" | "headers" | "fanout" | "match" | string, options?: Options.AssertExchange, ): Promise; checkExchange(exchange: string): Promise; deleteExchange(exchange: string, options?: Options.DeleteExchange): Promise; bindExchange(destination: string, source: string, pattern: string, args?: any): Promise; unbindExchange(destination: string, source: string, pattern: string, args?: any): Promise; publish(exchange: string, routingKey: string, content: Buffer, options?: Options.Publish): boolean; sendToQueue(queue: string, content: Buffer, options?: Options.Publish): boolean; consume( queue: string, onMessage: (msg: ConsumeMessage | null) => void, options?: Options.Consume, ): Promise; cancel(consumerTag: string): Promise; get(queue: string, options?: Options.Get): Promise; ack(message: Message, allUpTo?: boolean): void; ackAll(): void; nack(message: Message, allUpTo?: boolean, requeue?: boolean): void; nackAll(requeue?: boolean): void; reject(message: Message, requeue?: boolean): void; prefetch(count: number, global?: boolean): Promise; recover(): Promise; } export interface ConfirmChannel extends Channel { publish( exchange: string, routingKey: string, content: Buffer, options?: Options.Publish, callback?: (err: any, ok: Replies.Empty) => void, ): boolean; sendToQueue( queue: string, content: Buffer, options?: Options.Publish, callback?: (err: any, ok: Replies.Empty) => void, ): boolean; waitForConfirms(): Promise; } export const credentials: { amqplain(username: string, password: string): { mechanism: string; response(): Buffer; username: string; password: string; }; external(): { mechanism: string; response(): Buffer; }; plain(username: string, password: string): { mechanism: string; response(): Buffer; username: string; password: string; }; }; export function connect(url: string | Options.Connect, socketOptions?: any): Promise;