export class Draggable extends React.Component<any, any, any> {
    constructor(props: any);
    constructor(props: any, context: any);
    state: {
        delayed: boolean;
    };
    delayTimer: null;
    shouldComponentUpdate({ listOfPropsThatAffectItems, ...nextProps }: {
        [x: string]: any;
        listOfPropsThatAffectItems: any;
    }, nextState: any): boolean;
    componentWillUnmount(): void;
    resetDelayState: () => void;
    resetDelayTimer: () => void;
    countDelay: () => void;
    onDragStart: ({ id, index, containerId, groupName, item }: {
        id: any;
        index: any;
        containerId: any;
        groupName: any;
        item: any;
    }) => void;
    onDragEnd: ({ id, index, containerId, groupName, item }: {
        id: any;
        index: any;
        containerId: any;
        groupName: any;
        item: any;
    }) => void;
    canDrag: ({ id, index, containerId, groupName, item }: {
        id: any;
        index: any;
        containerId: any;
        groupName: any;
        item: any;
    }) => any;
    render(): React.JSX.Element;
}
export namespace Draggable {
    export namespace defaultProps {
        let droppable: boolean;
    }
    export namespace propTypes {
        let droppable_1: PropTypes.Requireable<boolean>;
        export { droppable_1 as droppable };
        export let withHandle: PropTypes.Requireable<boolean>;
        export let containerId: PropTypes.Requireable<string>;
        export let groupName: PropTypes.Requireable<string>;
        export let renderItem: PropTypes.Requireable<(...args: any[]) => any>;
        export let index: PropTypes.Requireable<number>;
        export let id: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        export let item: PropTypes.Requireable<object>;
        export let onMoveOut: PropTypes.Requireable<(...args: any[]) => any>;
        export let onDrop: PropTypes.Requireable<(...args: any[]) => any>;
        export let onHover: PropTypes.Requireable<(...args: any[]) => any>;
        export let onDragStart: PropTypes.Requireable<(...args: any[]) => any>;
        export let onDragEnd: PropTypes.Requireable<(...args: any[]) => any>;
        export let shift: PropTypes.Requireable<(number | null | undefined)[]>;
        export let hasDragged: PropTypes.Requireable<boolean>;
        export let setWrapperNode: PropTypes.Requireable<(...args: any[]) => any>;
        export let animationDuration: PropTypes.Requireable<number>;
        export let animationTiming: PropTypes.Requireable<string>;
        export let canDrag: PropTypes.Requireable<(...args: any[]) => any>;
        export let delay: PropTypes.Requireable<number>;
        export let listOfPropsThatAffectItems: PropTypes.Requireable<any[]>;
    }
    export { Draggable as Item };
    export { DraggableManager as Manager };
}
export default Draggable;
import React from 'react';
import PropTypes from 'prop-types';
import DraggableManager from './components/DraggableManager';
//# sourceMappingURL=Draggable.d.ts.map