declare type DOMType = Window | Document | HTMLElement | Node | Element; export interface ListenerOption { capture?: boolean; passive?: boolean; once?: boolean; } export interface AddListener { (event: K, fn: (this: Window, ev: WindowEventMap[K]) => any, dom: DOMType, option?: ListenerOption): void; (event: string, fn: EventListenerOrEventListenerObject, dom: DOMType, option?: ListenerOption): void; } /** * @param {AnyEventName} event event name * @param {function} fn event callback * @param {object} dom event dom * @param {ListenerOption} option option contain captrue, passive, once */ export declare const addListener: AddListener; export default addListener;