import { ElementPart, nothing } from 'lit'; import { AsyncDirective } from 'lit/async-directive.js'; import { DirectiveResult, PartInfo } from 'lit/directive.js'; export declare class EventListenerDirective extends AsyncDirective { protected _element?: Element; protected _host?: EventTarget; protected _type?: keyof GlobalEventHandlersEventMap; protected _listener?: (...args: any) => void; protected _options?: boolean | AddEventListenerOptions | EventListenerOptions; protected _dispose?: () => void; constructor(partInfo: PartInfo); render(type: EventType, listener: (event: GlobalEventHandlersEventMap[EventType]) => void, options?: boolean | AddEventListenerOptions | EventListenerOptions): typeof nothing; update(part: ElementPart, [type, listener, options]: Parameters): typeof nothing; protected _addEventListener(): void; protected _removeEventListener(): void; protected reconnected(): void; protected disconnected(): void; } /** * @param type - The name of the event to listen to. * @param listener - The function to be called when the event is fired. * @param options - Configures the event listener. */ export declare const on: (type: EventType, listener: (event: GlobalEventHandlersEventMap[EventType]) => void, options?: boolean | AddEventListenerOptions | EventListenerOptions) => DirectiveResult;