brainy/dist/universal/events.d.ts

32 lines
1.1 KiB
TypeScript
Raw Normal View History

/**
* Universal Events implementation
* Browser: Uses EventTarget API
* Node.js: Uses built-in events module
*/
/**
* Universal EventEmitter interface
*/
export interface UniversalEventEmitter {
on(event: string, listener: (...args: any[]) => void): this;
off(event: string, listener: (...args: any[]) => void): this;
emit(event: string, ...args: any[]): boolean;
once(event: string, listener: (...args: any[]) => void): this;
removeAllListeners(event?: string): this;
listenerCount(event: string): number;
}
/**
* Universal EventEmitter class
*/
export declare class EventEmitter implements UniversalEventEmitter {
private emitter;
constructor();
on(event: string, listener: (...args: any[]) => void): this;
off(event: string, listener: (...args: any[]) => void): this;
emit(event: string, ...args: any[]): boolean;
once(event: string, listener: (...args: any[]) => void): this;
removeAllListeners(event?: string): this;
listenerCount(event: string): number;
}
export { EventEmitter as default };
export declare const NodeEventEmitterClass: any;