import { EventMap } from './EventMap'; import { Event } from './Event'; /** * Шина событий, можно подписаться на какое нибудь событие - а можно создать свое */ export declare class EventBus { private events; constructor(); /** * Такое сложное выражение создания функции нужно в большей части для автоподсказок при разработке, * потому что у каждого соытия - свои аргументы каллбека * @param event Событие * @param callback Функция, которая вызовется когда событие выполнится */ on(event: K, callback: EventMap[K]): void; /** * Вызывает событие * @param event вызываемое событие * @param args аргументы события в соответсктии с EventMap */ fire(event: Event, ...args: any[]): void; }