import Point from '../geo/Point';
import type { Geometry } from '../geometry';
import type { Map } from '../map';
import UIComponent, { UIComponentOptionsType } from './UIComponent';
/**
* @classdesc
* Class for context menu, useful for interactions with right clicks on the map.
* @category ui
* @extends ui.UIComponent
* @memberOf ui
*/
declare class Menu extends UIComponent {
options: MenuOptionsType;
/**
* Menu items is set to options.items or by setItems method.
*
* Normally items is a object array, containing:
* 1. item object: {'item': 'This is a menu text', 'click': function() {alert('oops! You clicked!');)}}
* 2. minus string "-", which will draw a splitor line on the menu.
*
* If options.custom is set to true, the menu is considered as a customized one. Then items is the customized html codes or HTMLElement.
* @param {Object} options - options defined in [ui.Menu]{@link ui.Menu#options}
*/
constructor(options: MenuOptionsType);
addTo(owner: Geometry | Map): any;
/**
* Set the items of the menu.
* @param {Object[]|String|HTMLElement} items - items of the menu
* return {ui.Menu} this
* @example
* menu.setItems([
* //return false to prevent event propagation
* {'item': 'Query', 'click': function() {alert('Query Clicked!'); return false;}},
* '-',
* {'item': 'Edit', 'click': function() {alert('Edit Clicked!')}},
* {'item': 'About', 'click': function() {alert('About Clicked!')}}
* ]);
*/
setItems(items: Array