import { TNode, Value, Renderable } from '@tempots/dom';
import { Placement } from '@tempots/ui';
import { FlyoutTrigger } from '../navigation/flyout';
export type TooltipTrigger = FlyoutTrigger;
export interface TooltipOptions {
    /** The tooltip content to display */
    content: TNode;
    /** Placement of the tooltip relative to the trigger element */
    placement?: Value<Placement>;
    /** Delay in milliseconds before showing the tooltip on hover */
    showDelay?: Value<number>;
    /** Delay in milliseconds before hiding the tooltip after mouse leave */
    hideDelay?: Value<number>;
    /** Offset in pixels from the main axis (vertical for top/bottom, horizontal for left/right) */
    mainAxisOffset?: Value<number>;
    /** Offset in pixels from the cross axis (horizontal for top/bottom, vertical for left/right) */
    crossAxisOffset?: Value<number>;
    /** How to show the tooltip */
    showOn?: Value<TooltipTrigger>;
}
/**
 * Tooltip component that provides contextual information when hovering or focusing on elements.
 * Unlike other tooltip libraries, this component is designed to be a child of the element
 * it provides a tooltip for, rather than wrapping it.
 *
 * Built on top of the Flyout component for positioning and interaction logic.
 *
 * @example
 * ```typescript
 * Button(
 *   { onClick: () => console.log('clicked') },
 *   'Click me',
 *   Tooltip({ content: 'This button does something important' })
 * )
 * ```
 */
export declare function Tooltip(options: TooltipOptions): Renderable;
