interface Listener extends Function { (...args: any[]): void; fn?: Listener; } interface Events { [event: string]: Listener[]; } export default class Notification { $events: Events; constructor(); dispatch(name: keyof Events, ...args: any[]): void; subscribe(name: keyof Events, fn: Listener): void; unsubscribe(name: keyof Events, fn: Listener): void; } export {};