import { NoopFunction } from "../helpers/intefaces"; /** * Event emitter * https://github.com/peterkejun/Animated-Canvas/blob/05bf961da7cba31aa901054948293180a6131704/src/Helpers/EventEmitter.ts **/ export declare class EventEmitter { /** * A map of event to a list of callbacks */ private observers; /** * A new EventEmitter with no observers * @constructor */ constructor(); /** * Subcribe to an event by providing a callback * @param event the event to subscribe to * @param cb the callback to run when the event is emitted */ on: (event: string, cb: NoopFunction) => void; /** * Unsubscribe to an event by removing a specific callback function * @param event the event to unsubscribe to * @param cb the callback to remove */ remove: (event: string, cb: NoopFunction) => void; /** * Emit an event with arguments for callbacks * @param event the event to emit * @param args extra arguments for the callbacks of this event */ emit: (event: string, ...args: any[]) => void; }