export const SUPPRESS_TOOLTIP_CLASS_NAME: "gs-suppress-tooltip";
export const FREEZE_INTERACTION_CLASS_NAME: "gs-freeze-interaction";
export default class Tooltip {
    /**
     * @param {HTMLElement} container
     */
    constructor(container: HTMLElement);
    /**
     * @param {boolean} sticky
     */
    set sticky(sticky: boolean);
    get sticky(): boolean;
    /**
     * @param {boolean} visible
     */
    set visible(visible: boolean);
    get visible(): boolean;
    get enabled(): boolean;
    /**
     * @param {Event} event
     */
    containsEvent(event: Event): boolean;
    /**
     * @param {boolean} enabled True if tooltip is enabled (allowed to be shown)
     */
    pushEnabledState(enabled: boolean): void;
    popEnabledState(): void;
    /**
     * @param {MouseEvent} mouseEvent
     */
    handleMouseMove(mouseEvent: MouseEvent): void;
    mouseCoords: [number, number];
    updatePlacement(): void;
    /**
     * @param {string | import("lit").TemplateResult | HTMLElement} content
     */
    setContent(content: string | import("lit").TemplateResult | HTMLElement): void;
    clear(): void;
    /**
     * Updates the tooltip if the provided datum differs from the previous one.
     * Otherwise this is nop.
     *
     * @param {T} datum
     * @param {function(T):Promise<string | HTMLElement | import("lit").TemplateResult>} [converter]
     * @template T
     */
    updateWithDatum<T>(datum: T, converter?: (arg0: T) => Promise<string | HTMLElement | import("lit").TemplateResult>): void;
    _isPenalty(): boolean;
    #private;
}
//# sourceMappingURL=tooltip.d.ts.map