import { TRedisSMQEvent } from './types/index.js';
import { ICallback } from 'redis-smq-common';
import { EEventTarget } from './types/event-bus.js';
export declare class EventMultiplexer {
    private static instance;
    private readonly eventBus;
    private readonly internalBus;
    protected constructor();
    static getInstance(): EventMultiplexer;
    static publish<Event extends keyof TRedisSMQEvent>(event: Event, ...args: Parameters<TRedisSMQEvent[Event]>): void;
    static shutdown(cb: ICallback): void;
    getTargetFor<Event extends keyof TRedisSMQEvent>(event: Event): EEventTarget;
    publish<Event extends keyof TRedisSMQEvent>(event: Event, ...args: Parameters<TRedisSMQEvent[Event]>): void;
}
//# sourceMappingURL=event-multiplexer.d.ts.map