sveltekit-sync
Version:
Local-first sync engine for SvelteKit
34 lines (33 loc) • 1.03 kB
TypeScript
import type { RealtimeEventEmitter, RealtimeEventHandler } from './types.js';
/**
* Simple event emitter for realtime events.
* Used as a foundation for both client and server-side event handling.
*/
export declare class EventEmitter implements RealtimeEventEmitter {
private listeners;
/**
* Subscribe to an event
* @returns Unsubscribe function
*/
on<T = any>(event: string, handler: RealtimeEventHandler<T>): () => void;
/**
* Unsubscribe from an event
*/
off(event: string, handler: RealtimeEventHandler): void;
/**
* Emit an event to all subscribers
*/
emit<T = any>(event: string, data: T): void;
/**
* Subscribe to an event for one-time execution
*/
once<T = any>(event: string, handler: RealtimeEventHandler<T>): () => void;
/**
* Remove all listeners for an event or all events
*/
removeAllListeners(event?: string): void;
/**
* Get listener count for an event
*/
listenerCount(event: string): number;
}