UNPKG

fleeta-api-lib

Version:

A comprehensive library for fleet management applications - API, Auth, Device management

108 lines 3.27 kB
/** * Event WebSocket Event Manager * Handles event subscription and emission for WebPush events */ import type { EventWsEvent, EventWsEventHandler, PsnFilterConfig } from './types'; /** * Event Manager class * Manages event subscriptions and notifications for WebPush events */ export declare class EventWebSocketEventManager { private eventHandlers; private psnFilter; /** * Create Event Manager with PSN filtering support * @param psnFilter - PSN filter configuration */ constructor(psnFilter?: Partial<PsnFilterConfig>); /** * Add event listener * @param event - Event type to listen for * @param handler - Event handler function */ on<T = any>(event: EventWsEvent, handler: EventWsEventHandler<T>): void; /** * Remove specific event listener * @param event - Event type * @param handler - Event handler to remove */ off(event: EventWsEvent, handler: EventWsEventHandler): void; /** * Remove all listeners for a specific event * @param event - Event type (optional - removes all if not specified) */ removeAllListeners(event?: EventWsEvent): void; /** * Emit event to all registered handlers * @param event - Event type * @param data - Event data */ emit<T = any>(event: EventWsEvent, data?: T): void; /** * Set PSN filters for event filtering * @param psns - Array of PSNs to filter by */ setPsnFilters(psns: string[]): void; /** * Add PSN to filter list * @param psn - PSN to add to filter */ addPsnFilter(psn: string): void; /** * Remove PSN from filter list * @param psn - PSN to remove from filter */ removePsnFilter(psn: string): void; /** * Clear all PSN filters */ clearPsnFilters(): void; /** * Get current PSN filters * @returns Array of current PSN filters */ getPsnFilters(): string[]; /** * Check if PSN filtering is enabled * @returns True if PSN filtering is active */ isPsnFilteringEnabled(): boolean; /** * Set custom PSN extraction function * @param extractorFn - Custom PSN extraction function */ setPsnExtractor(extractorFn: (message: string) => string | null): void; /** * Test PSN extraction on a message * @param message - Message to test PSN extraction on * @returns Extracted PSN or null */ testPsnExtraction(message: string): string | null; /** * Get number of handlers for an event * @param event - Event type * @returns Number of registered handlers */ getHandlerCount(event: EventWsEvent): number; /** * Get all registered events * @returns Array of event types that have handlers */ getRegisteredEvents(): EventWsEvent[]; /** * Check if event has any handlers * @param event - Event type * @returns True if event has handlers */ hasHandlers(event: EventWsEvent): boolean; /** * Get total number of handlers across all events * @returns Total handler count */ getTotalHandlerCount(): number; /** * Clear all event handlers */ destroy(): void; } //# sourceMappingURL=EventManager.d.ts.map