import { type HTMLAttributes, type MouseEvent, type ReactNode } from 'react'; export interface SDraggableGroupMoveEvent { group: string; itemKey: string; fromListId: string; fromIndex: number; toListId: string; toIndex: number; } interface GroupContextValue { defaultGroup?: string; dragging: { group: string; listId: string; index: number; itemKey: string; } | null; drop: { group: string; listId: string; index: number; } | null; registerList: (group: string, listId: string, element: HTMLDivElement | null, items: unknown[], onChange?: (items: unknown[]) => void) => void; startDrag: (event: MouseEvent, group: string, listId: string, index: number, itemKey: string) => void; } export declare function useSDraggableGroup(): GroupContextValue | null; export interface SDraggableGroupProps extends HTMLAttributes { children: ReactNode; onMove: (event: SDraggableGroupMoveEvent) => void; } export interface SDraggableProviderProps { children: ReactNode; } export declare function SDraggableProvider({ children }: SDraggableProviderProps): import("react").JSX.Element; export declare function SDraggableGroup({ children, onMove, ...rest }: SDraggableGroupProps): import("react").JSX.Element; export {};