import type { Placement, RectProps } from '../../ts-types';
import type { BaseTableAPI } from '../../ts-types/base-table';
import type { TooltipOptions } from '../../ts-types/tooltip';
import type { BubbleTooltipElement } from './logic/BubbleTooltipElement';
export declare abstract class BaseTooltip {
    private _table;
    private _tooltipElement?;
    constructor(table: BaseTableAPI);
    release(): void;
    private _getTooltipElement;
    abstract createTooltipElementInternal(): BubbleTooltipElement;
    bindTooltipElement(col: number, row: number, tooltipInstanceInfo: TooltipOptions, confine?: boolean): boolean;
    moveTooltipElement(col: number, row: number, tooltipOptions: TooltipOptions, confine?: boolean): void;
    unbindTooltipElement(): void;
    locateTooltipElement(col: number, row: number, position?: {
        x: number;
        y: number;
    }, referencePosition?: {
        rect: RectProps;
        placement?: Placement;
    }, confine?: boolean): void;
}
