/** @packageDocumentation
 * @module Notification
 */
import * as React from "react";
import type { XAndY } from "@itwin/core-geometry";
import type { ToolTipOptions } from "@itwin/core-frontend";
import { UiEvent } from "@itwin/appui-abstract";
import type { CommonProps } from "@itwin/core-react";
import type { NotifyMessageType } from "../messages/ReactNotifyMessageDetails";
/** [[ElementTooltip]] State.
 * @internal
 */
interface ElementTooltipState {
    isVisible: boolean;
    message: NotifyMessageType;
    position: XAndY;
    options?: ToolTipOptions;
}
/** [[ElementTooltipChangedEvent]] arguments.
 * @public
 */
export interface ElementTooltipChangedEventArgs {
    isTooltipVisible: boolean;
    message: NotifyMessageType;
    el?: HTMLElement;
    pt?: XAndY;
    options?: ToolTipOptions;
}
/** ElementTooltip Changed Event class.
 * @public
 */
export declare class ElementTooltipChangedEvent extends UiEvent<ElementTooltipChangedEventArgs> {
}
/** ElementTooltip React component.
 * @public
 */
export declare class ElementTooltip extends React.Component<CommonProps, 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);
    private _size;
    private _element?;
    private _position?;
    /** @internal */
    readonly state: Readonly<ElementTooltipState>;
    constructor(props: CommonProps);
    render(): JSX.Element | null;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private static _handleMouseMove;
    private _handleElementTooltipChangedEvent;
    private _handleSizeChanged;
    private updatePosition;
}
export {};
//# sourceMappingURL=ElementTooltip.d.ts.map