import type { IEvent } from './i-event'; import type { IEventHandler } from './i-event-handler'; import type { IEventMap } from './i-event-map'; export interface IEventTarget { on(name: K, handler: IEventHandler): void; on(name: string, handler?: IEventHandler): void; off(name: K, handler: IEventHandler): void; off(name: string, handler?: IEventHandler): void; dispatch(event: IEvent): void; }