redis-smq-common
Version:
Provides essential components and utilities shared across RedisSMQ packages.
17 lines • 954 B
TypeScript
import { IEventBusConfig, TEventBusEvent } from './types/index.js';
import { Runnable } from '../runnable/index.js';
import { ILogger } from '../logger/index.js';
import { ICallback } from '../async/index.js';
export declare class EventBus<Events extends TEventBusEvent> extends Runnable<Events> {
private readonly namespace;
protected logger: ILogger;
constructor(config?: IEventBusConfig, namespace?: string);
protected toNamespacedEvent(event: string): string;
emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
on<E extends keyof Events>(event: E, listener: Events[E]): this;
once<E extends keyof Events>(event: E, listener: Events[E]): this;
removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
removeAllListeners<E extends keyof Events>(event?: E): this;
protected goingDown(): ((cb: ICallback<void>) => void)[];
}
//# sourceMappingURL=event-bus.d.ts.map