import { MapEvent } from './mapTypes';
export type EventListenerMap = {
    [key: string]: Function;
};
type EnhancedMapEvent = {
    viewportX: number;
    viewportY: number;
    map: H.Map;
    calculateGeoCoords(): H.geo.Point;
};
export declare const createEnhancedMapEvent: (event: H.mapevents.Event | null, mapApi: H.Map) => EnhancedMapEvent | {
    map: H.Map;
};
export declare const createEnhancedListener: (listener: Function, mapApi: H.Map) => (event: H.mapevents.Event) => any;
export type RioEventTarget = H.util.EventTarget & {
    rioMapRemoveEvents?: Function;
};
export declare const addEventListenerMap: (eventTarget: RioEventTarget, eventListenerMap: EventListenerMap | undefined, mapApi: H.Map) => void;
export declare const removeEventListenerMap: (eventTarget: RioEventTarget) => any;
export declare const createTapOnDblTapPreventer: (eventListenerMap: EventListenerMap, delayBetweenTaps?: number) => EventListenerMap;
export declare const getMouseButton: (event: MapEvent) => number;
export declare const isRightClick: (event: MapEvent) => boolean;
export declare const EventUtils: {
    MOUSE_BUTTONS: {
        LEFT: number;
        MIDDLE: number;
        RIGHT: number;
    };
    POINTER_DOWN: string;
    POINTER_UP: string;
    POINTER_MOVE: string;
    POINTER_ENTER: string;
    POINTER_LEAVE: string;
    POINTER_CANCEL: string;
    DRAG_START: string;
    DRAG: string;
    DRAG_END: string;
    TAP: string;
    DBL_TAP: string;
    LONGPRESS: string;
    CONTEXTMENU: string;
    CONTEXTMENU_CLOSE: string;
    MAP_VIEW_CHANGE_START: string;
    MAP_VIEW_CHANGE: string;
    MAP_VIEW_CHANGE_END: string;
    BASE_LAYER_CHANGE: string;
    ENGINE_CHANGE: string;
    createTapOnDblTapPreventer: (eventListenerMap: EventListenerMap, delayBetweenTaps?: number) => EventListenerMap;
    getMouseButton: (event: MapEvent) => number;
    isRightClick: (event: MapEvent) => boolean;
};
export default EventUtils;
