import { type Placement } from '@floating-ui/dom';
import type { CSSResult } from 'lit';
import { LitElement } from 'lit';
import { type HoverOptions } from '../hover/index.js';
/**
* @example
* ```ts
* // Simple usage
* html`
* Content
* `
* // With placement
* html`
*
* Content
*
* `
*
* // With custom properties
* html`
*
* Content
*
* `
* ```
*/
export declare class Tooltip extends LitElement {
static styles: CSSResult;
private _hoverController;
private readonly _setUpHoverController;
private _getStyles;
connectedCallback(): void;
getPortal(): HTMLDivElement | undefined;
/**
* Allow the tooltip to be interactive.
* eg. allow the user to select text in the tooltip.
*/
accessor allowInteractive: boolean;
/**
* Show a triangle arrow pointing to the reference element.
*/
accessor arrow: boolean;
/**
* changes the placement of the floating element in order to keep it in view,
* with the ability to flip to any placement.
*
* See https://floating-ui.com/docs/flip
*/
accessor autoFlip: boolean;
/**
* Hide the tooltip when the reference element is not in view.
*
* See https://floating-ui.com/docs/hide
*/
accessor autoHide: boolean;
/**
* shifts the floating element to keep it in view.
* this prevents the floating element from
* overflowing along its axis of alignment,
* thereby preserving the side it’s placed on.
*
* See https://floating-ui.com/docs/shift
*/
accessor autoShift: boolean;
accessor hoverOptions: Partial;
/**
* Default is `4px`
*
* See https://floating-ui.com/docs/offset
*/
accessor offset: number;
accessor placement: Placement;
accessor tooltipStyle: CSSResult;
accessor zIndex: number | string;
}
declare global {
interface HTMLElementTagNameMap {
'affine-tooltip': Tooltip;
}
}
//# sourceMappingURL=tooltip.d.ts.map