UNPKG

saltfish

Version:

An interactive video-guided tour system for web applications

40 lines 1.5 kB
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