import type { JSX } from "@solidjs/web"; import type { Delay, FloatingContext, FloatingRootContext, MutableRef } from "../types.js"; export interface FloatingDelayGroupProps { children?: JSX.Element; /** * The delay to use for the group when it's not in the instant phase. */ delay: Delay; /** * An optional explicit timeout to use for the group, which represents * when grouping logic will no longer be active after the close delay * completes. Useful when grouping should "last" longer than the close * delay, e.g. when there is no close delay at all. */ timeoutMs?: number | undefined; } /** * Provides context for a group of floating elements that should share a * `delay`. Sibling members consume the group via `useDelayGroup(context)` * and will skip their open delay if another group member has opened * recently (within the close delay or `timeoutMs` window). * * @see https://floating-ui.com/docs/FloatingDelayGroup * @internal */ export declare function FloatingDelayGroup(props: FloatingDelayGroupProps): JSX.Element; export interface UseDelayGroupOptions { /** * Whether the trigger this hook is used in has opened the tooltip. */ open: boolean; } export interface UseDelayGroupReturn { /** * The delay reference object. Shared across all group members so that * hovering the next member picks up the instant-phase `open: 0` * without waiting for prop propagation. */ delayRef: MutableRef; /** * Whether animations should be removed because the group is in the * instant switch-between-members phase. */ isInstantPhase: boolean; /** * Whether a `` provider is present above the caller. */ hasProvider: boolean; } /** * Registers the caller into the nearest ``. Returns * the shared `delayRef`, a flag marking the instant (inter-member) * phase, and whether a provider is present. Call inside a component that * participates in hover-delay coordination (e.g. Tooltip.Root). * * Accepts either a `FloatingRootContext` (the store itself) or a * `FloatingContext` (with `.rootStore`). The React source uses the same * dual-input shape so consumers pass whichever they have on hand. * * @see https://floating-ui.com/docs/FloatingDelayGroup * @internal */ export declare function useDelayGroup(context: FloatingRootContext | FloatingContext, options?: UseDelayGroupOptions): UseDelayGroupReturn; //# sourceMappingURL=floating-delay-group.d.ts.map