import { Coordinate } from 'ol/coordinate.js'; import IGirafeContext from '../../../tools/context/icontext.js'; export declare enum EntryInteractionType { ENABLED = 0, DISABLED = 1, NOT_SHOWN = 2 } export type MenuEntry = { entry: string; callback: (e: MouseEvent, mapCoordinate: Coordinate) => void; prepare?: (e: MouseEvent, mapCoordinate: Coordinate) => EntryInteractionType; }; /** * Show a simple context menu when clicking on the map */ export declare class ContextMenu { name: string; private _active; private readonly isExclusive; private readonly overlay; private readonly container; private readonly openEventListener; private readonly closeEventListener; private readonly context; private readonly menuEntries; private menuEntryDivs; private get map(); constructor(context: IGirafeContext, 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(): void; prepareMenuEntries(evt: PointerEvent | MouseEvent, mapCoordinate: Coordinate): void; openMenu(mapCoordinates: Coordinate): void; closeMenu(): void; onClickMenuEntry(evt: PointerEvent | MouseEvent, callback: (e: PointerEvent | MouseEvent, mapCoordinate: Coordinate) => void): void; remove(): void; }