saltfish
Version:
An interactive video-guided tour system for web applications
40 lines • 1.5 kB
TypeScript
import type { EventManager } from './EventManager';
/**
* Abstract base class for managers that subscribe to EventManager events
*
* Provides common initialization pattern for managers that need to listen to
* player events through the EventManager. Eliminates duplicate code for
* EventManager setup and event subscription across multiple managers.
*
* This is NOT a base for all managers - only for those that subscribe to events.
* Managers like VideoManager, UIManager, CursorManager, etc. do not extend this.
*
* Usage:
* ```typescript
* export class MyManager extends EventSubscriberManager {
* protected subscribeToEvents(): void {
* if (!this.eventManager) return;
* this.eventManager.on('someEvent', this.handleEvent);
* }
* }
* ```
*/
export declare abstract class EventSubscriberManager {
protected eventManager: EventManager | null;
/**
* Creates a new event-subscribing manager instance
* @param eventManager - Optional event manager to subscribe to events
*/
constructor(eventManager?: EventManager);
/**
* Sets the event manager and subscribes to relevant events
* @param eventManager - Event manager instance
*/
setEventManager(eventManager: EventManager): void;
/**
* Abstract method for subscribing to events
* Must be implemented by derived classes to set up event listeners
*/
protected abstract subscribeToEvents(): void;
}
//# sourceMappingURL=EventSubscriberManager.d.ts.map