/// <reference types="node" />
import { EventEmitter } from 'events';
export declare type Settings = {
    separator?: string;
    wildcardOne?: string;
    wildcardSome?: string;
};
export declare abstract class AbstractListener extends EventEmitter {
    protected settings: Settings;
    protected _ready: boolean;
    protected _closed: boolean;
    constructor(settings?: Settings);
    protected _raiseIfClosed(): void;
    abstract subscribe(topic: any, callback?: any, done?: any): any;
    abstract publish(topic: any, payload: any, done?: Function): any;
    abstract unsubscribe(topic: any, callback: any, done?: Function): any;
    abstract close(done?: Function): any;
}
//# sourceMappingURL=abstract-listener.d.ts.map