import { EventHandlerUpdates, CraftEventListener, EventHandlerConnectors, ConnectorsUsage } from './interfaces'; export declare abstract class EventHandlers = {}> { options: O; private registry; private subscribers; onEnable?(): void; onDisable?(): void; constructor(options?: O); listen(cb: (msg: EventHandlerUpdates) => void): () => boolean; disable(): void; enable(): void; cleanup(): void; addCraftEventListener(el: HTMLElement, eventName: K, listener: CraftEventListener, options?: boolean | AddEventListenerOptions): () => void; abstract handlers(): Record any>; /** * Creates a record of chainable connectors and tracks their usages */ createConnectorsUsage(): ConnectorsUsage; derive(type: { new (...args: any[]): C; }, opts: C['options']): C; protected createProxyHandlers(instance: H, cb: (connectors: EventHandlerConnectors) => void): () => void; reflect(cb: (connectors: EventHandlerConnectors) => void): () => void; }