29 lines
909 B
TypeScript
29 lines
909 B
TypeScript
/**
|
|
* Game Iframe SDK - Event Emitter
|
|
* Simple typed event emitter for SDK
|
|
*/
|
|
export type EventHandler<T = any> = (data: T) => void;
|
|
export declare class EventEmitter<Events extends Record<string, any>> {
|
|
private handlers;
|
|
/**
|
|
* Subscribe to an event
|
|
*/
|
|
on<K extends keyof Events>(event: K, handler: EventHandler<Events[K]>): () => void;
|
|
/**
|
|
* Subscribe to an event (once)
|
|
*/
|
|
once<K extends keyof Events>(event: K, handler: EventHandler<Events[K]>): () => void;
|
|
/**
|
|
* Unsubscribe from an event
|
|
*/
|
|
off<K extends keyof Events>(event: K, handler: EventHandler<Events[K]>): void;
|
|
/**
|
|
* Emit an event
|
|
*/
|
|
emit<K extends keyof Events>(event: K, data: Events[K]): void;
|
|
/**
|
|
* Remove all handlers for an event (or all events)
|
|
*/
|
|
removeAllListeners(event?: keyof Events): void;
|
|
}
|
|
//# sourceMappingURL=EventEmitter.d.ts.map
|