import type { MeltEvent } from '../types.js'; /** * A type alias for a general event listener function. * * @template E - The type of event to listen for * @param evt - The event object * @returns The return value of the event listener function */ export type GeneralEventListener = (evt: E) => unknown; /** * Overloaded function signatures for addEventListener */ export declare function addEventListener(target: Window, event: E, handler: (this: Window, ev: HTMLElementEventMap[E]) => unknown, options?: boolean | AddEventListenerOptions): VoidFunction; export declare function addEventListener(target: Document, event: E, handler: (this: Document, ev: HTMLElementEventMap[E]) => unknown, options?: boolean | AddEventListenerOptions): VoidFunction; export declare function addEventListener(target: EventTarget, event: E, handler: GeneralEventListener, options?: boolean | AddEventListenerOptions): VoidFunction; /** * Overloaded function signatures for addEventListener */ export declare function addMeltEventListener(target: Window, event: E, handler: (this: Window, ev: HTMLElementEventMap[E]) => unknown, options?: boolean | AddEventListenerOptions): VoidFunction; export declare function addMeltEventListener(target: Document, event: E, handler: (this: Document, ev: HTMLElementEventMap[E]) => unknown, options?: boolean | AddEventListenerOptions): VoidFunction; export declare function addMeltEventListener(target: EventTarget, event: E, handler: GeneralEventListener, options?: boolean | AddEventListenerOptions): VoidFunction; export declare function dispatchMeltEvent(originalEvent: HTMLElementEventMap[E]): MeltEvent | null; export declare function withMelt(handler: (event: HTMLElementEventMap[E]) => void): (event: HTMLElementEventMap[E]) => void;