import { type RefObject } from "react"; import type { LayoutRectangle, View } from "react-native"; import type { GestureEventPayload } from "react-native-gesture-handler"; import type { SharedValue } from "react-native-reanimated"; import type { DraggableConstraints, SharedPoint } from "./hooks"; import type { SharedData, UniqueIdentifier } from "./types"; export type ItemOptions = { id: UniqueIdentifier; data: SharedData; disabled: boolean; }; export type DraggableItemOptions = ItemOptions & DraggableConstraints; export type DraggableOptions = Record; export type DroppableOptions = Record; export type Layouts = Record>; export type Offsets = Record; export type DraggableState = "resting" | "pending" | "dragging" | "dropping" | "acting" | "sleeping"; export type DraggableStates = Record>; export type DndContextValue = { containerRef: RefObject; draggableLayouts: SharedValue; droppableLayouts: SharedValue; draggableOptions: SharedValue; droppableOptions: SharedValue; draggableOffsets: SharedValue; draggableRestingOffsets: SharedValue; draggableStates: SharedValue; draggablePendingId: SharedValue; draggableActiveId: SharedValue; droppableActiveId: SharedValue; draggableActiveLayout: SharedValue; draggableInitialOffset: SharedPoint; draggableContentOffset: SharedPoint; panGestureState: SharedValue; }; export declare const DndContext: import("react").Context; export declare const useDndContext: () => DndContextValue;