/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
import { PopupPlacement } from '../popup';
import { ITooltipComponent } from './tooltip';
export interface ITooltipAdapter extends IBaseAdapter {
    hasTargetElement(): boolean;
    hasTooltipElement(): boolean;
    isTargetElementConnected(): boolean;
    initializeTargetElement(selector: string): void;
    destroy(identifier: string | null): void;
    initializeAccessibility(identifier: string): void;
    setTextContent(text: string): void;
    addTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;
    removeTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;
    showTooltip(position: PopupPlacement, content?: HTMLElement | Text): void;
    getInnerText(): string;
    hideTooltip(): void;
    getTooltipElement(): HTMLElement | null;
}
/**
 * The DOM adapter for the tooltip component.
 */
export declare class TooltipAdapter extends BaseAdapter<ITooltipComponent> implements ITooltipAdapter {
    private _targetElement;
    private _tooltipElement;
    constructor(component: ITooltipComponent);
    initializeTargetElement(selector: string): void;
    initializeAccessibility(identifier: string): void;
    hasTargetElement(): boolean;
    hasTooltipElement(): boolean;
    isTargetElementConnected(): boolean;
    destroy(identifier: string | null): void;
    /**
     * Sets the text content of the host element to the provided text.
     * @param text The text content.
     */
    setTextContent(text: string): void;
    /**
     * Adds an event listener to the target element.
     * @param targetElement The target element instance.
     * @param type The event type.
     * @param listener The event listener.
     */
    addTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;
    /**
     * Removes an event listener from the target element.
     * @param type The event type.
     * @param listener The event listener.
     */
    removeTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;
    /**
     * Displays the tooltip around the target element based on the provided configuration.
     * @param position The position.
     * @param content The tooltip content.
     */
    showTooltip(position: PopupPlacement, content?: HTMLElement | Text): void;
    getInnerText(): string;
    /**
     * Removes the tooltip from the DOM.
     * @param tooltipElement The target element instance.
     */
    hideTooltip(): void;
    getTooltipElement(): HTMLElement | null;
    /**
     * Gets the target element based on the provided CSS selector.
     * @param {string | undefined} selector The target element selector.
     */
    private _getTargetElement;
    private _getTooltipContent;
}
