import { Component } from 'react';
import * as _sortableJS from 'sortablejs';
export interface ISortableProps<T> extends Omit<_sortableJS.Options, 'onChange'> {
    tag?: React.ComponentType | string;
    className?: string;
    items?: T[];
    filterClass?: string;
    onChange?: (newItems: T[]) => void;
}
export declare class Sortable<T> extends Component<ISortableProps<T>> {
    static defaultProps: {
        tag: string;
    };
    sortable: _sortableJS;
    containerRef: import("react").RefObject<HTMLElement>;
    handleAddDraggingCursor: () => void;
    handleRemoveDraggingCursor: () => void;
    private initSortable;
    private destroySortableInstance;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
}
export default Sortable;
