) => HTMLElement;
+
+ export interface SortableContainerProps {
+ axis?: Axis;
+ lockAxis?: Axis;
+ helperClass?: string;
+ transitionDuration?: number;
+ pressDelay?: number;
+ onSortStart?: SortStartHandler;
+ onSortMove?: SortMoveHandler;
+ onSortEnd?: SortEndHandler;
+ useDragHandle?: boolean;
+ useWindowAsScrollContainer?: boolean;
+ hideSortableGhost?: boolean;
+ lockToContainerEdges?: boolean;
+ lockOffset?: Offset | [Offset, Offset];
+ getContainer?: ContainerGetter;
+ }
+
+ export interface SortableElementProps {
+ index: number;
+ collection?: Offset;
+ disabled?: boolean;
+ }
+
+ export interface Config {
+ withRef: boolean;
+ }
+
+ export type WrappedComponentFactory = (props: P) => JSX.Element;
+
+ export type WrappedComponent
= React.ComponentClass
| WrappedComponentFactory
;
+
+ export function SortableContainer
(wrappedComponent: WrappedComponent
, config?: Config): React.ComponentClass
;
+
+ export function SortableElement
(wrappedComponent: WrappedComponent
, config?: Config): React.ComponentClass
;
+
+ export function SortableHandle
(wrappedComponent: WrappedComponent
, config?: Config): React.ComponentClass
;
+
+ export function arrayMove(collection: Array, previousIndex: number, newIndex: number): Array;
+}