import { JSX, Accessor } from 'solid-js';
import { Placement } from '@floating-ui/dom';
/** Imperative open controller, handed to a parent (e.g. the kai-tooltip facade)
 *  via `controllerRef` so it can drive/observe open state. */
export interface TooltipController {
    open: Accessor<boolean>;
    setOpen: (v: boolean) => void;
}
export interface TooltipProps {
    content: string;
    children: JSX.Element;
    class?: string;
    openDelay?: number;
    /** Delay (ms) before it hides after the pointer leaves. Defaults to 0 (hides
     *  immediately). */
    closeDelay?: number;
    /** Preferred placement (post flip/shift). Defaults to `'top'`. */
    placement?: Placement;
    /** Initial open state on mount (uncontrolled seed). */
    defaultOpen?: boolean;
    /** When true, hover/focus (and `show()`) never opens the tooltip. */
    disabled?: boolean;
    /** Receive the open controller (open accessor + setOpen) once mounted. */
    controllerRef?: (api: TooltipController) => void;
    dismissOnClick?: boolean;
}
export declare function Tooltip(props: TooltipProps): JSX.Element;
