/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { TooltipBuilder } from './tooltip-constants';
import { PopupPlacement } from '../popup';
import { BaseComponent, IBaseComponent } from '../core/base/base-component';
export interface ITooltipComponent extends IBaseComponent {
    text: string;
    builder: TooltipBuilder | undefined;
    target: string;
    delay: number;
    position: PopupPlacement;
    open: boolean;
    hide(): void;
    tooltipElement: HTMLElement | null;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-tooltip': ITooltipComponent;
    }
}
/**
 * The custom element class behind the `<forge-tooltip>` element.
 *
 * @tag forge-tooltip
 */
export declare class TooltipComponent extends BaseComponent implements ITooltipComponent {
    static get observedAttributes(): string[];
    private _foundation;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    /** Gets/sets the tooltip text. */
    text: string;
    /** Sets the tooltip builder function for display complex tooltip content. */
    builder: TooltipBuilder | undefined;
    /** Gets/sets the target element selector. */
    target: string;
    /** The tooltip display delay in milliseconds. */
    delay: number;
    /** Gets/sets the position. */
    position: `${PopupPlacement}`;
    /** Gets the open state of the tooltip. */
    open: boolean;
    /** @readonly */
    tooltipElement: HTMLElement | null;
    /** Hides the tooltip if it's open. */
    hide(): void;
}
