export class Connection { constructor(config: Object); connect(): void; close(): void; clear(): void; handleEvent(event: Object): void; on(event: string, callback: (event: Object) => any): void; removeon(event: string): void; } export class Exchange { constructor(connection: Connection, exchange_config: Object); publish(message: string, routing_key: string, properties: Object): void; delete(): void; on(event: string, callback: (event: Object) => any): void; removeon(event: string): void; } export class Queue { constructor(connection: Connection, queue_config: Object, args: Object); delete(): void; close(): void; bind(exchange: Exchange, routing_key: string): void; unbind(exchange: Exchange, routing_key: string): void; basicAck(delivery_tag: number): void; handleEvent(event: Object): void; on(event: string, callback: (event: Message) => any): void; removeon(event: string): void; } interface Message { content_type: string, delivery_tag: number, exchange: string, is_redeliver: boolean, message: string, name: string, queue_name: string, routing_key: string }