import { ReactElement } from 'react';
import { Actions } from './actions';
import { SortableItem, SortableItemProps } from './components/SortableItem';
type SortableItems = ReactElement<SortableItemProps, typeof SortableItem>[];
export interface SortableStateType {
    clone?: Element;
    draggingSource?: number;
    draggingTarget?: number;
    indices: number[];
    itemsBeforeDrag: SortableItems;
    maxIndex: number;
    sortableItems: SortableItems;
}
export declare const initialState: {
    clone: undefined;
    draggingSource: undefined;
    draggingTarget: undefined;
    indices: never[];
    itemsBeforeDrag: never[];
    maxIndex: number;
    sortableItems: never[];
};
export declare const sortableReducer: (state: SortableStateType | undefined, action: Actions) => SortableStateType;
export {};
