import { Coordinate } from 'ol/coordinate';
export type MenuEntry = {
    entry: string;
    callback: (e: MouseEvent, mapCoordinate: Coordinate) => void;
};
/**
 * Show a simple context menu when clicking on the map
 */
export declare class ContextMenu {
    name: string;
    private _active;
    private readonly isExclusive;
    private readonly map;
    private readonly overlay;
    private readonly container;
    private readonly userInteractionManager;
    private readonly openEventListener;
    private readonly closeEventListener;
    constructor(menuEntries?: MenuEntry[], isExclusive?: boolean, openCondition?: (evt: PointerEvent | MouseEvent, mapCoordinate: Coordinate) => boolean);
    get visible(): boolean;
    get active(): boolean;
    setActive(active: boolean): void;
    private enable;
    private disable;
    private handleContextmenuEvent;
    updateMenuEntries(menuEntries: MenuEntry[]): void;
    openMenu(mapCoordinates: Coordinate): void;
    closeMenu(): void;
    onClickMenuEntry(evt: PointerEvent | MouseEvent, callback: (e: PointerEvent | MouseEvent, mapCoordinate: Coordinate) => void): void;
    remove(): void;
}
