import { type Subscription } from "@akala/core"; import type { Composer } from "../template.js"; import { AttributeComposer } from "./shared.js"; export interface EventPlugin { beforeEventRegistration?(item: Element, options: T, handler: (...args: unknown[]) => unknown): void | Subscription; afterEventRegistration?(item: Element, options: T, handler: (...args: unknown[]) => unknown, subscription: Subscription): Subscription | void; } export declare class EventComposer> extends AttributeComposer implements Composer { static readonly plugins: Record; getContext(item: HTMLElement, options?: T): import("@akala/core").Binding>>; constructor(); optionName: string; applyInternal(item: HTMLElement, options: T, event: TKey, handler: (...args: unknown[]) => unknown): Subscription | void; }