import { Pausable } from '../../types'; import { DB } from '../db/db'; import { Message } from './message'; declare type BrokerSubscription = { queue: string; callback: (message: Message) => any; }; export declare class Broker implements Pausable { db: DB; subscriptions: BrokerSubscription[]; channels: Promise[]; closing: boolean; paused: boolean; constructor(db: DB); disconnect(): Promise; publish(body: Record | [Array, Record, Record], exchange: string, routingKey: string, headers: Record, properties: Record): Promise; pause(): Promise; resume(): void; isPaused(): boolean; subscribe(queue: string, callback: (message: Message) => any): Promise; private receiveFast; private receiveSlow; private receiveOneOnNextTick; private receiveOne; } export {};