import { ElementAppenderAlignmentType, ElementAppenderPlacementType, ResponsiveType, SizeType } from '../../types/ui.type';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaTooltipElementAppenderController } from './slimmers/controllers/vega-tooltip-element-appender-controller';
import { VegaTooltipContentBoxRenderer } from './slimmers/renderers/vega-tooltip-content-box-renderer';
import { DeprecatedPropertySlimmerBase } from '../../helpers/slimmers/deprecated-property-slimmer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.3.0
 */
export declare class VegaTooltip {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly vegaTooltipElementAppenderController: VegaTooltipElementAppenderController;
  protected readonly vegaTooltipContentBoxRenderer: VegaTooltipContentBoxRenderer;
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-tooltip-keyboard-control-with-hover-trigger-e2e}
   * @see{module:vega-tooltip-keyboard-control-with-click-trigger-e2e}
   */
  protected readonly deprecatedPropertySlimmer: DeprecatedPropertySlimmerBase<string>;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaTooltipElement>;
  host: HTMLVegaTooltipElement;
  isTooltipShow: boolean;
  /**
   * Determines the fixed size (width) of the tooltip.
   *
   * It can be provided as a number or a ResponsiveType.
   *
   * @vegaVersion 1.3.0
   */
  size: ResponsiveType<SizeType>;
  /**
   * Determines the minimum width of the tooltip.
   *
   * It can be provided as a number or a ResponsiveType.
   *
   * @vegaVersion 1.30.0
   */
  minWidth: ResponsiveType<SizeType>;
  /**
   * Determines the maximum width of the tooltip.
   *
   * It can be provided as a number or a ResponsiveType.
   *
   * @vegaVersion 1.30.0
   */
  maxWidth: ResponsiveType<SizeType>;
  /**
   * Specifies the trigger mode for the tooltip.
   * - click: means the tooltip show/hide by click.
   * - hover: means the tooltip show/hide by hover.
   * - none: means tooltip is not displayed regardless of hover or click.
   *
   * @vegaVersion 1.3.0
   */
  trigger: 'hover' | 'click' | 'none';
  watchTrigger(): void;
  /**
   * Specifies the content that is displayed
   *    inside the tooltip.
   * @deprecated This property will be removed soon and replaced by prop text
   *
   * @vegaVersion 1.3.0
   */
  content: string;
  /**
   * Specifies the text that is displayed
   *    inside the tooltip.
   *
   * Line breaks (`\n`) are supported and rendered as new lines. Consecutive
   * regular spaces are collapsed; to preserve indentation (e.g. hanging indent
   * for bullet lists) use the non-breaking space character `\u00A0`.
   *
   * @vegaVersion 2.0.0
   */
  text: string;
  /**
   * Monitor the property text updates.
   */
  watchTextChange(): void;
  /**
   * Specifies the vertical positioning of the tooltip
   *    within its container or relative to a reference point.
   *
   * @vegaVersion 1.3.0
   */
  placement: ElementAppenderPlacementType;
  /**
   * Determines the horizontal positioning of the tooltip
   *    within its container or relative to a reference point.
   *
   * @vegaVersion 1.41.0
   */
  alignment: ElementAppenderAlignmentType;
  watchToShowTooltip(): void;
  /**
   * Specifies the target element that will contain the tooltip popup.
   *
   * If not provided, the popup will be appended to the
   *    body by default. Adjust this property if you
   *    encounter scrolling or positioning issues.
   *
   * @VegaWarning The value of this property should be an element that is
   * 		the parent of this component or an ancestor of the parent element.
   * 		Using any other element may lead to unexpected behavior.
   * @vegaVersion 1.3.0
   */
  positionRelativeTo: string;
  /**
   * The tooltip is interactive by default.
   * Set `disableInteractive` to `true` to deactivate this feature, causing the tooltip to close upon hover.
   *
   * @vegaVersion 1.52.0
   */
  disableInteractive: boolean;
  render(): VegaTooltip;
}
