import { type Observer } from "@knyt/artisan"; import type { BasicEvent } from "./BasicEvent.ts"; import type { Effect } from "./Effect.ts"; import { EventListenableObserver } from "./EventListenableObserver.ts"; import type { ReactiveController, ReactiveControllerHost } from "./ReactiveController.ts"; /** * A controller that manages an event listener on an element. * * @remarks * * This controller should be added before the host is connected. * * @example * * ```ts * import { createReference } from "@knyt/artisan"; * import { EventListenerController } from "@knyt/tasker"; * * new EventListenerController(host, { * eventName: "click", * listener(event) { * console.info("click event", event); * }, * target$: createReference(document.body), * }); * * @public */ export declare class EventListenerController implements ReactiveController, Observer, Effect { #private; constructor(host: ReactiveControllerHost, options: EventListenableObserver.Options); next(nextTarget: E | null): void; setup(): void; teardown(): void; hostConnected(): void; hostDisconnected(): void; /** * Removes the event listener from the target element * and disposes of the controller. */ dispose(): void; get disposeSignal(): import("@knyt/artisan").Observable; } //# sourceMappingURL=EventListenerController.d.ts.map