UNPKG

libmodpm

Version:

Modrinth package manager library

65 lines (64 loc) 2.21 kB
import { TypedListener } from "./TypedListener.js"; /** * Represents an event target with statically-known event types. * * @template E Event types map. */ export declare class TypedEventTarget<E extends Record<string, Event>> { /** * Underlying event target. */ private readonly target; /** * Sets up an event listener. * * @param type Case-sensitive event type. * @param listener Event listener. * @param options Listener options. */ addEventListener<K extends Extract<keyof E, string>>(type: K, listener: TypedListener<E[K]>, options?: AddEventListenerOptions): void; /** * Sets up an event listener. * * @param type Case-sensitive event type. * @param listener Event listener. * @param options Listener options. */ on<K extends Extract<keyof E, string>>(type: K, listener: TypedListener<E[K]>, options?: AddEventListenerOptions): void; /** * Sets up an event listener that will be removed after the first invocation. * * @param type Case-sensitive event type. * @param listener Event listener. * @param options Listener options. */ once<K extends Extract<keyof E, string>>(type: K, listener: TypedListener<E[K]>, options?: AddEventListenerOptions): void; /** * Removes an event listener. * * @param type Case-sensitive event type. * @param listener Event listener. * @param options Listener options. */ removeEventListener<K extends Extract<keyof E, string>>(type: K, listener: TypedListener<E[K]>, options?: boolean | EventListenerOptions): void; /** * Removes an event listener. * * @param type Case-sensitive event type. * @param listener Event listener. * @param options Listener options. */ off<K extends Extract<keyof E, string>>(type: K, listener: TypedListener<E[K]>, options?: boolean | EventListenerOptions): void; /** * Dispatches an event. * * @param event Event to dispatch. */ dispatchEvent(event: E[keyof E]): boolean; /** * Dispatches an event. * * @param event Event to dispatch. */ emit(event: E[keyof E]): boolean; }