import type { EventedAccessor, EventedMixinProperties } from "../../core/Evented.js";
import type { TooltipMode } from "./tooltip/types.js";

export interface TooltipProperties extends EventedMixinProperties {}

/**
 * Object which represents a tooltip that is shown while sketching and editing.
 *
 * @since 4.31
 * @see [Sketch](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html)
 * @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html)
 * @see [SketchTooltipOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-sketch-SketchTooltipOptions.html)
 * @see [SketchValueOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-sketch-SketchValueOptions.html)
 * @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
 * @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
 */
export default class Tooltip extends EventedAccessor {
  constructor(properties?: TooltipProperties);
  /** The current mode the tooltip is in. */
  get mode(): TooltipMode;
}