MineJSv0.5.1
base/event.tstypescript
/** @see https://github.com/andywer/typed-emitter */
export interface TypedEmmiter<Events extends object> {
    on: <K extends keyof Events>(event: K, func: Events[K] extends any[] ? (...args: Events[K]) => void : never) => void,
    once: <K extends keyof Events>(event: K, func: Events[K] extends any[] ? (...args: Events[K]) => void : never) => void,
    emit: <K extends keyof Events>(event: K, ...args: Events[K] extends any[] ? Events[K] : never) => void,
}