import { Readable } from 'stream';
import { ConsumeMessage, Replies } from 'amqplib';
export interface ConsumerCanceller {
    cancel: (tag: string) => Promise<Replies.Empty>;
}
export default class Consumer extends Readable {
    tag?: string;
    queue: string;
    private _channel;
    constructor(channel: ConsumerCanceller, queue: string);
    get channel(): ConsumerCanceller;
    set channel(ch: ConsumerCanceller);
    cancel(): Promise<void>;
    handleDelivery(delivery: ConsumeMessage): void;
    handleCancel(server: boolean): void;
    _read(): void;
}
