import { MessageReceipt, Queue, QueueParameters } from "@webda/core";
export declare class AMQPQueueParameters extends QueueParameters {
    url: string;
    queue: string;
    queueOptions?: any;
}
/**
 * Implements a Queue stored in AMQP
 *
 * @WebdaModda
 */
export default class AMQPQueue<T = any, K extends AMQPQueueParameters = AMQPQueueParameters> extends Queue<T, K> {
    channel: any;
    conn: any;
    /**
     * @override
     */
    loadParameters(params: any): AMQPQueueParameters;
    /**
     * @override
     */
    init(): Promise<this>;
    /**
     * @override
     */
    sendMessage(event: T): Promise<void>;
    /**
     * @override
     */
    receiveMessage<L>(proto?: new () => L): Promise<MessageReceipt<L>[]>;
    /**
     * @override
     */
    deleteMessage(id: string): Promise<void>;
    /**
     * @override
     */
    size(): Promise<number>;
    ___cleanData(): Promise<void>;
}
