import { TargetEventHandlers } from './TargetEventHandlers';
export declare const targetMap: WeakMap<EventTarget, TargetEventHandlers<string>>;
export declare function addEventListener<T extends EventTarget = HTMLElement>(target: T, eventName: string, listener: EventListener, options?: AddEventListenerOptions): () => void;
export declare function useEventHandler<E extends Event, N extends string, T extends EventTarget = HTMLElement>(target: T, eventName: N, listener: (event: E) => void, options?: AddEventListenerOptions): void;
export interface IEventHandlerProps<E, N, T> {
    target: T;
    eventName: N;
    listener: (event: E) => void;
    options?: AddEventListenerOptions;
}
export declare const EventHandler: <E extends Event, N extends string, T extends EventTarget = HTMLElement>({ target, eventName, listener, options, }: IEventHandlerProps<E, N, T>) => any;
