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

export interface TooltipProperties {}

/**
 * Object which represents a tooltip that is shown while sketching and editing.
 *
 * @since 4.31
 * @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
 * @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
 * @see [SketchTooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/sketch/SketchTooltipOptions/)
 * @see [SketchValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/sketch/SketchValueOptions/)
 * @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;
}