/** @packageDocumentation
 * @module Notification
 */
import "./ElementTooltip.scss";
import * as React from "react";
import { UiEvent } from "@itwin/appui-abstract";
import type { ToolTipOptions } from "@itwin/core-frontend";
import type { XAndY } from "@itwin/core-geometry";
import type { CommonProps } from "@itwin/core-react";
import type { NotifyMessageType } from "../messages/ReactNotifyMessageDetails.js";
/** [[ElementTooltip]] state. */
interface ElementTooltipState {
    isVisible: boolean;
    message: NotifyMessageType;
    position: XAndY;
    options?: ToolTipOptions;
}
/** [[ElementTooltipChangedEvent]] arguments.
 * @public
 * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.
 */
export interface ElementTooltipChangedEventArgs {
    isTooltipVisible: boolean;
    message: NotifyMessageType;
    el?: HTMLElement;
    pt?: XAndY;
    options?: ToolTipOptions;
}
/** ElementTooltip Changed Event class.
 * @public
 * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.
 */
export declare class ElementTooltipChangedEvent extends UiEvent<ElementTooltipChangedEventArgs> {
}
/** ElementTooltip React component.
 * @public
 */
export declare class ElementTooltip extends React.Component<CommonProps, // eslint-disable-line @typescript-eslint/no-deprecated
ElementTooltipState> {
    private static _elementTooltipChangedEvent;
    private static _isTooltipVisible;
    private static _isTooltipHalted;
    static get onElementTooltipChangedEvent(): ElementTooltipChangedEvent;
    static get isTooltipVisible(): boolean;
    static showTooltip(el: HTMLElement, message: NotifyMessageType, pt?: XAndY, options?: ToolTipOptions): void;
    static hideTooltip(): void;
    static get isTooltipHalted(): boolean;
    static set isTooltipHalted(halt: boolean);
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=ElementTooltip.d.ts.map