import { Primitive } from "@loke/ui/primitive"; import { type AriaAttributes, type ComponentPropsWithoutRef, type ReactNode } from "react"; declare const createRovingFocusGroupScope: import("@loke/ui/context").CreateScope; type Orientation = AriaAttributes["aria-orientation"]; type Direction = "ltr" | "rtl"; interface RovingFocusGroupOptions { /** * The direction of navigation between items. */ dir?: Direction; /** * Whether keyboard navigation should loop around * @defaultValue false */ loop?: boolean; /** * The orientation of the group. * Mainly so arrow navigation is done accordingly (left & right vs. up & down) */ orientation?: Orientation; } type RovingFocusGroupProps = RovingFocusGroupImplProps; declare const RovingFocusGroup: import("react").ForwardRefExoticComponent>; type PrimitiveDivProps = ComponentPropsWithoutRef; interface RovingFocusGroupImplProps extends Omit, RovingFocusGroupOptions { currentTabStopId?: string | null; defaultCurrentTabStopId?: string; onCurrentTabStopIdChange?: (tabStopId: string | null) => void; onEntryFocus?: (event: Event) => void; preventScrollOnEntryFocus?: boolean; } type PrimitiveSpanProps = ComponentPropsWithoutRef; interface RovingFocusItemProps extends Omit { active?: boolean; children?: ReactNode | ((props: { hasTabStop: boolean; isCurrentTabStop: boolean; }) => ReactNode); focusable?: boolean; tabStopId?: string; } declare const RovingFocusGroupItem: import("react").ForwardRefExoticComponent>; declare const Root: import("react").ForwardRefExoticComponent>; declare const Item: import("react").ForwardRefExoticComponent>; export { createRovingFocusGroupScope, RovingFocusGroup, RovingFocusGroupItem, Root, Item, }; export type { RovingFocusGroupProps, RovingFocusItemProps };