@casual-simulation/aux-common
Version:
Common library for AUX projects
30 lines • 790 B
TypeScript
/**
* Event that has no arguments.
*/
export declare class Event {
private _listeners;
addListener(listener: EventListener): void;
removeListener(listener: EventListener): void;
removeAllListeners(): void;
invoke(): void;
}
/**
* Signature of event listener that has no arguments.
*/
declare type EventListener = () => void;
/**
* Event that takes typed argument.
*/
export declare class ArgEvent<T> {
private _listeners;
addListener(listener: ArgEventListener<T>): void;
removeListener(listener: ArgEventListener<T>): void;
removeAllListeners(): void;
invoke(arg: T): void;
}
/**
* Signature of event listener that accepts typed argument.
*/
declare type ArgEventListener<T> = (arg: T) => void;
export {};
//# sourceMappingURL=Event.d.ts.map