import { EventEmitter, ICallback, IEventBus, TRedisClientEvent } from 'redis-smq-common';
import { TRedisSMQEvent } from '../../common/index.js';
export declare class EventBus extends EventEmitter<Pick<TRedisClientEvent, 'error'>> {
    protected instance: IEventBus<TRedisSMQEvent> | null;
    protected locked: boolean;
    init: (cb: ICallback<void>) => void;
    getInstance(): IEventBus<TRedisSMQEvent> | Error;
    getSetInstance(cb: ICallback<IEventBus<TRedisSMQEvent>>): void;
    shutdown: (cb: ICallback<void>) => void;
}
//# sourceMappingURL=event-bus.d.ts.map