import { type ReactiveElement } from 'lit'; import { Controller } from '../Controller/Controller.js'; import { type EventListenerTarget } from './extractEventTargets.js'; type Listener = EventListenerObject | ((e: any) => void); type FullEventListenerControllerOptions = { type: string; listener: Listener; target?: EventListenerTarget; options?: AddEventListenerOptions | boolean; }; type ShorthandEventListenerControllerOptions = [type: string, listener: Listener, options?: AddEventListenerOptions | boolean]; type EventListenerControllerOptions = ShorthandEventListenerControllerOptions | [FullEventListenerControllerOptions]; export declare class EventListenerController extends Controller { protected readonly host: ReactiveElement; protected readonly options: FullEventListenerControllerOptions; private targets?; constructor(host: ReactiveElement, ...options: EventListenerControllerOptions); protected get context(): object; subscribe(): Promise; unsubscribe(): Promise; resubscribe(): Promise; hostConnected(): void; hostDisconnected(): void; } export {}; //# sourceMappingURL=EventListenerController.d.ts.map