/// import Notifier from './notifier'; export declare class QueueInfo { name?: string; url?: string; options?: any; } export declare function message(m: any): Buffer; export declare type Ack = () => void; export declare type Receiver = (buf: Buffer, ack?: Ack) => void; export declare type Callback = (err?: Error) => void; export interface ConnectionOptions { retryDelay: number; retryCount: number; } export interface SendOptions { priority?: number; } export interface ReceiveOptions { prefetch?: number; consumerTag?: string; priority?: number; } export interface ChannelListener { opened?(channel: Channel): void; closed?(channel: Channel): void; error?(channel: Channel): void; } export declare class Channel extends Notifier implements ConnectionListener { options: ConnectionOptions; private connectionVar; readonly connection: Connection; readonly url: string; private ch; static instance(url: string, options?: ConnectionOptions): Channel; static initial(connection: Connection, options?: ConnectionOptions): Channel; queueAddIf(q: QueueInfo): Promise; messageAdd(q: QueueInfo, m: Buffer, s?: SendOptions, f?: Callback): void; receiverAdd(q: QueueInfo, r: Receiver, options?: ReceiveOptions): void; consumerAdd(q: QueueInfo, r: Receiver, options?: ReceiveOptions): void; close(): Promise; protected listeningStarted(): void; protected listeningStopped(): void; private open(f); private listen(f); connected(connection: Connection): void; disconnected(connection: Connection): void; } export interface ConnectionListener { connected?(c: Connection): void; disconnected?(c: Connection): void; } export declare class Connection extends Notifier { private urlVar; readonly url: string; options: ConnectionOptions; private channels; conn: any; static instance(url: string, options?: ConnectionOptions): Connection; static initial(url: string, options?: ConnectionOptions): Connection; channelAdd(channel: Channel): Channel; channelDel(channel: Channel): Channel; channelDelAll(): void; close(): void; protected listeningStarted(): void; private connect(count); }