UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

22 lines (21 loc) 1.06 kB
import type { TypedEventTarget } from '../events'; /** Key to store listeners on the {@link SyntheticEventTarget} instance*/ declare const LISTENERS: unique symbol; /** * Synthetic implementation of EventTarget * Replicates behavior of native event * Doesn't give explicit access to callback storage */ export declare class SyntheticEventTarget<T extends Event = Event> implements TypedEventTarget<T> { static DEFAULT_EVENT: string; private readonly [LISTENERS]; protected getEventListeners(): EventListenerOrEventListenerObject[]; protected getEventListeners(type: T['type']): EventListenerOrEventListenerObject[]; hasEventListener(type?: string): boolean; addEventListener(callback: EventListenerOrEventListenerObject): void; addEventListener(type: T['type'], callback: EventListenerOrEventListenerObject): void; removeEventListener(callback: EventListenerOrEventListenerObject): void; removeEventListener(type: T['type'], callback: EventListenerOrEventListenerObject): void; dispatchEvent(e: T): boolean; } export {};