/**
 * @license
 * Scale https://github.com/telekom/scale
 *
 * Copyright (c) 2021 Egor Kirpichev and contributors, Deutsche Telekom AG
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */
import { EventEmitter } from '../../stencil-public-runtime';
export declare class Tooltip {
  componentId: string;
  hostEl: HTMLElement;
  /** (optional) The content of the Tooltip supporting Text only */
  content: string;
  /** (optional) Position of the Tooltip on the Object */
  placement: 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end';
  /** (optional) Disable Tooltip */
  disabled: boolean;
  /** (optional) Distance of the Tooltip from the Target Object (related to the `placement`) */
  distance: number;
  /** (optional) Set the Tooltip to open per default (will still be closed on closing Events) */
  open: boolean;
  /** (optional) Set custom trigger Event selection */
  trigger: string;
  /** (optional) Switching the flip option of the tooltip on and off */
  flip: boolean;
  /** (optional) Injected CSS styles */
  styles?: string;
  mouseOverTooltip: boolean;
  tooltipBeforeShow: EventEmitter;
  tooltipShow: EventEmitter;
  tooltipBeforeHide: EventEmitter;
  tooltipHide: EventEmitter;
  private tooltipEl;
  private arrowEl;
  handleOpenChange(): void;
  componentDidLoad(): void;
  disconnectedCallback(): void;
  handleOutsideClick(event: MouseEvent): void;
  componentDidUpdate(): void;
  update: () => void;
  componentDidRender(): void;
  showTooltip(): Promise<void>;
  hideTooltip(): Promise<void>;
  handleBlur: () => void;
  handleClick: () => void;
  handleFocus: () => void;
  handleKeyDown: (event: KeyboardEvent) => void;
  handleMouseOver: () => void;
  handleMouseOut: () => void;
  handleTooltipMouseOver: () => void;
  handleTooltipBlur: () => void;
  hasTrigger: (triggerType: string) => boolean;
  render(): any;
}
