/**
 * Add multiple event listeners with the same callback function
 * @param el the element which emits events
 * @param events the event names to listen to (string separated by a space)
 * @param fn the function to call
 * @param opts the event options to apply
 */
export declare function addListeners(el: Element | Document, events: string, fn: (e: Event) => void, opts?: AddEventListenerOptions): void;
/**
 * Remove multiple event listeners with the same callback function
 * @param el the element which emits events
 * @param events the event names to listen to (string separated by a space)
 * @param fn the function to call
 */
export declare function removeListeners(el: Element | Document, events: string, fn: (e: Event) => void): void;
/**
 * Waits for a specific event to be emitted from an element.
 * Ignores events that bubble up from child elements.
 * @param el an html element
 * @param eventName name of the event
 */
export declare function waitForEvent(el: HTMLElement, eventName: string): Promise<void>;
