import { Cluster } from "./Cluster"; import { QueueOrExchange, Exchange } from "./index"; import { Binding, BindingOptions } from "./Binding"; export interface QueueArguments { [field: string]: string; } export interface QueueDefinition extends QueueOrExchange { arguments: QueueArguments; } export declare class Queue implements QueueDefinition { name: string; vhost: string; durable: boolean; auto_delete: boolean; arguments: QueueArguments; policy?: string; private cluster?; constructor(name: string, opts?: Partial); setCluster(cluster: Cluster): void; static fromDefinition(def: QueueDefinition): Queue; toDefinition(): QueueDefinition; bindTo(destination: Queue | Exchange, opts?: BindingOptions): Binding; }