UNPKG

@polymindslabs/widget-sdk

Version:

Universal Job Widget SDK for embedding job boards and apply buttons

47 lines (46 loc) 1.38 kB
/** * Event Emitter for Inzif Widget SDK */ import type { WidgetEvents } from './types'; type EventCallback<T = any> = (data: T) => void; type EventName = keyof WidgetEvents; export declare class EventEmitter { private events; /** * Subscribe to an event */ on<E extends EventName>(event: E, callback: EventCallback<WidgetEvents[E]>): void; /** * Subscribe to an event (alias for on) */ addEventListener<E extends EventName>(event: E, callback: EventCallback<WidgetEvents[E]>): void; /** * Unsubscribe from an event */ off<E extends EventName>(event: E, callback: EventCallback<WidgetEvents[E]>): void; /** * Unsubscribe from an event (alias for off) */ removeEventListener<E extends EventName>(event: E, callback: EventCallback<WidgetEvents[E]>): void; /** * Subscribe to an event once */ once<E extends EventName>(event: E, callback: EventCallback<WidgetEvents[E]>): void; /** * Emit an event */ emit<E extends EventName>(event: E, data: WidgetEvents[E]): void; /** * Remove all event listeners */ removeAllListeners(event?: EventName): void; /** * Get event listener count */ listenerCount(event: EventName): number; /** * Get all event names that have listeners */ eventNames(): EventName[]; } export {};