1 | import { EventHandler, IEventReceiver, IEventEmitter } from './definitions';
|
2 | /**
|
3 | * A registered event receiver.
|
4 | */
|
5 | export declare class EventReceiver implements IEventReceiver {
|
6 | /**
|
7 | * An registered identifier for this event receiver.
|
8 | */
|
9 | key: string | number;
|
10 | /**
|
11 | * The registered name of the event.
|
12 | */
|
13 | event: string;
|
14 | /**
|
15 | * The actual callback.
|
16 | */
|
17 | handler: EventHandler;
|
18 | constructor(
|
19 | /**
|
20 | * An registered identifier for this event receiver.
|
21 | */
|
22 | key: string | number,
|
23 | /**
|
24 | * The registered name of the event.
|
25 | */
|
26 | event: string,
|
27 | /**
|
28 | * The actual callback.
|
29 | */
|
30 | handler: EventHandler);
|
31 | }
|
32 | /**
|
33 | * Stores callbacks for registered events.
|
34 | */
|
35 | export declare class EventEmitter implements IEventEmitter {
|
36 | /**
|
37 | * @private
|
38 | */
|
39 | private n;
|
40 | /**
|
41 | * @private
|
42 | */
|
43 | private eventReceivers;
|
44 | /**
|
45 | * @private
|
46 | */
|
47 | private eventsEmitted;
|
48 | /**
|
49 | * Register an event callback which gets triggered every time the event is
|
50 | * fired.
|
51 | *
|
52 | * @param event
|
53 | * The event name.
|
54 | * @param callback
|
55 | * A callback to attach to this event.
|
56 | */
|
57 | on(event: string, callback: EventHandler): IEventReceiver;
|
58 | /**
|
59 | * Unregister an event receiver returned from
|
60 | * [`on()`](/api/client/eventemitter#on).
|
61 | *
|
62 | * @param receiver
|
63 | * The event receiver.
|
64 | */
|
65 | off(receiver: IEventReceiver): void;
|
66 | /**
|
67 | * Register an event callback that gets triggered only once. If the event was
|
68 | * triggered before your callback is registered, it calls your callback
|
69 | * immediately.
|
70 | *
|
71 | * @note TODO: Fix the docs for () => void syntax.
|
72 | *
|
73 | * @param event
|
74 | * The event name.
|
75 | * @param callback
|
76 | * A callback to attach to this event. It takes no arguments.
|
77 | */
|
78 | once(event: string, callback: () => void): void;
|
79 | /**
|
80 | * Trigger an event. Call all callbacks in the order they were registered.
|
81 | *
|
82 | * @param event
|
83 | * The event name.
|
84 | * @param data
|
85 | * An object to pass to every callback.
|
86 | */
|
87 | emit(event: string, data?: Object): void;
|
88 | /**
|
89 | * Return a count of the number of times an event has been triggered.
|
90 | *
|
91 | * @param event
|
92 | * The event name.
|
93 | */
|
94 | emitted(event: string): number;
|
95 | }
|