import { DfnsMessage } from './events';
declare type BusConnectionProps = {
    protocol: 'amqp' | 'amqps';
    hostname: string;
    port: number;
    username: string;
    password: string;
    heartbeat?: number;
    vhost?: string;
};
declare type BusPublishOptions = {
    disableConnectionRestore?: boolean;
    redeliveredCount?: number;
    queueName?: string;
};
export declare class DfnsBus {
    private originator;
    private exchangeName;
    private connectionProps;
    private defaultConnectionHeartbeat;
    private defaultConnectionVhost;
    private connection?;
    private channel?;
    constructor(originator: string, exchangeName: string, connectionProps: BusConnectionProps);
    init(): Promise<DfnsBus>;
    get isInit(): boolean;
    getNewConnectionName(): string;
    close(): Promise<void>;
    private publishToExchangeOrQueue;
    publish(dfnsMessage: DfnsMessage, options?: BusPublishOptions): Promise<void>;
}
export {};
