declare type EventTarget = {
    addEventListener?: Function;
    removeEventListener?: Function;
    attachEvent?: Function;
    detachEvent?: Function;
};
declare type EventListenerOrEventListenerObject = Function | {
    handleEvent: Function;
};
export declare type Handler = [EventListenerOrEventListenerObject, EventListenerOptions | AddEventListenerOptions | boolean, Function];
export default class EventManager {
    events: {
        [eventName: string]: Handler[];
    };
    el?: EventTarget | undefined | null;
    constructor(el?: EventTarget | undefined | null);
    setTarget(el?: EventTarget | undefined | null): EventManager;
    addEventListener(eventName: string, fn: EventListenerOrEventListenerObject, options?: AddEventListenerOptions | boolean): EventManager;
    removeEventListener(eventName: string, fn?: EventListenerOrEventListenerObject, options?: EventListenerOptions | boolean): EventManager;
    fireEventSync(eventName: string, ...rest: any[]): boolean;
    fireEvent(eventName: string, ...rest: any[]): Promise<boolean>;
    clear(): EventManager;
}
export declare function preventDefault(e: any): void;
export declare function stopPropagation(e: any): void;
export declare function stopEvent(e: any): void;
export {};
