export interface EventEmitter { on: On; dispatch(event: E, ...args: Parameters): void; } export interface On { (...args: OnParametersFor): () => void; } export type OnParametersFor = Extract, [ event: E, cb: any ]>; export type OnParameters = { [E in keyof M]: [event: E, cb: M[E]]; }[keyof M]; interface EventMap { [event: string]: (...args: any[]) => void; } export declare function createEventEmitter(): EventEmitter; export {}; //# sourceMappingURL=events.d.ts.map