import type { SimplePosition } from "../positioning/types.js"; /** * @since 2.8.0 */ export interface TooltipPositionHookOptions { /** * An optional controlled position to use that will disable the functionality * to determine the "best" position to render the tooltip within the viewport. */ position?: SimplePosition; /** * An optional position to use before the positioning calculation has * occurred. This is also used to determine if the position should be * horizontal vs vertical. * * Vertical - `"below"` or `"above"` * Horizontal - `"left"` or `"right"` * * @defaultValue `"below"` */ defaultPosition?: SimplePosition; /** * This value should be between 0 and 1 and will be multiplied by either the * viewport height or viewport width to determine the best position to render * the tooltip based on available space within the viewport. * * You _probably_ won't ever really need to update this value. * * @defaultValue `0.75` */ threshold?: number; } /** * @internal * @since 2.8.0 */ export type UpdateTooltipPosition = (container: HTMLElement) => void; /** * @internal * @since 2.8.0 */ export type TooltipPositionHookReturnValue = [ SimplePosition, UpdateTooltipPosition ]; /** * A hook that's used to determine the "best" position to render the tooltip * within the viewport. * * @internal * @since 2.8.0 */ export declare function useTooltipPosition(options: TooltipPositionHookOptions): TooltipPositionHookReturnValue;