type AnyHandler = (...args: any) => void; export type RemoveListenerCallback = () => void | undefined; export type Event = { toArray: () => F[]; length: number; on: (fn: F) => RemoveListenerCallback; emit: (...arg: Parameters) => void; }; export interface EventMap { [key: string]: AnyHandler; } export type Events = { on(type: Name, handler: Handler): RemoveListenerCallback; emit(type: string, ...args: Parameters): void; }; export declare function createEvent(): Event; export declare function createEvents(): Events; export {};