type Type = string | number | symbol; type Handler = (event: { target: T1; type: T2; } & T3) => any; type Options = { once: boolean; }; export default class Emitter> { private readonly Emitter$items; on(name: U, handler: Handler, options?: Options): void; off(name: U, handler?: Handler): void; emit(name: U, event: T2[U]): void; } export {};