/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import Modifier from 'ember-modifier';
import type { ArgsFor } from 'ember-modifier';
import type { HideAll as TippyHideAll, Instance as TippyInstance, Props as TippyProps } from 'tippy.js';
import type Owner from '@ember/owner';
export interface HdsTooltipModifierSignature {
    Args: {
        Positional: [string];
        Named: {
            options?: Partial<TippyProps>;
        };
    };
    Element: HTMLElement;
}
/**
 *
 * `Tooltip` implements a modifier that uses Tippy.js to display a tooltip.
 *
 * Sample usage:
 * ```
 * <div {{hds-tooltip 'Text' options=(hash )}}>Hover me!</div>
 * ```
 *
 * @see https://atomiks.github.io/tippyjs
 * @class TooltipModifier
 *
 */
export default class HdsTooltipModifier extends Modifier<HdsTooltipModifierSignature> {
    #private;
    private _didSetup;
    private _containerId;
    _interval: number | undefined;
    _needsTabIndex: boolean;
    _tooltip: TippyInstance | undefined;
    _containerElement?: HTMLElement;
    constructor(owner: Owner, args: ArgsFor<HdsTooltipModifierSignature>);
    hideOnEsc: {
        name: string;
        defaultValue: boolean;
        fn({ hide }: {
            hide: TippyHideAll;
        }): {
            onShow(): void;
            onHide(): void;
        };
    };
    modify(element: HdsTooltipModifierSignature['Element'], positional: HdsTooltipModifierSignature['Args']['Positional'], named: HdsTooltipModifierSignature['Args']['Named']): void;
}
