export declare class EventListener { #private; constructor(callback: () => any); /** Disposes of this event listener */ close(): void; } export declare type EventHandler = (value: T) => any; export declare class Event { #private; constructor(); /** Subscribes to events */ on(handler: EventHandler): EventListener; /** Subscribes once to an event */ once(handler: EventHandler): EventListener; /** Sends a value to subscribers */ send(value: T): any; /** Returns the subscriber count for this event */ count(): number; /** Disposes of this event */ dispose(): void; } export declare class Events { #private; constructor(); /** Subscribes to an event */ on(event: string, handler: EventHandler): EventListener; /** Subscribes once to an event */ once(event: string, handler: EventHandler): EventListener; /** Sends a value to subscribers of this event */ send(event: string, value: T): void; /** Returns the subscriber count for this event */ count(event: string): number; /** Closes this event */ close(): void; }