fleeta-api-lib
Version:
A comprehensive library for fleet management applications - API, Auth, Device management
45 lines • 1.18 kB
TypeScript
/**
* GPS WebSocket Event Manager
* Handles event subscription and emission with type safety
*/
import type { GpsWsEvent, GpsWsEventHandler } from './types';
/**
* Event Manager class
* Separated event handling logic for better organization
*/
export declare class EventManager {
private eventHandlers;
/**
* Add event listener
*/
on<T = any>(event: GpsWsEvent, handler: GpsWsEventHandler<T>): void;
/**
* Remove specific event listener
*/
off(event: GpsWsEvent, handler: GpsWsEventHandler): void;
/**
* Remove all listeners for a specific event
*/
removeAllListeners(event?: GpsWsEvent): void;
/**
* Emit event to all registered handlers
*/
emit<T = any>(event: GpsWsEvent, data?: T): void;
/**
* Get number of handlers for an event
*/
getHandlerCount(event: GpsWsEvent): number;
/**
* Get all registered events
*/
getRegisteredEvents(): GpsWsEvent[];
/**
* Check if event has any handlers
*/
hasHandlers(event: GpsWsEvent): boolean;
/**
* Clear all event handlers
*/
destroy(): void;
}
//# sourceMappingURL=EventManager.d.ts.map