import PropTypes from 'prop-types';
import React from 'react';
export declare const keyboardSortableDesc: {
    readonly onFocusDesc: string;
    readonly onGrabDescA: string;
    readonly onGrabDescB: string;
    readonly onDragDesc: string;
    readonly onDropDesc: string;
    readonly onCancelDesc: string;
};
export declare const keyboardSortableListItemDefaultProps: {
    onMove: any;
    onHover: any;
    readonly dragItemName: string;
};
export declare function keyboardSortableListItem(DecoratedComponent: any): {
    new (props: any, context: any): {
        dragHandler: any;
        prevDragHandler: any;
        componentDidMount(): void;
        componentDidUpdate(): void;
        componentWillUnmount(): void;
        register(): void;
        unregister(): void;
        createDragHandlerRef(node: any): void;
        onHandlerKeyUp: (event: any) => void;
        cancelReorder(): void;
        reorderActionHandler(e: any): void;
        /**
         * @param targetId moving destination. drop target's id
         * @param movingDown moving direction. direction moving up or moving down
         */
        reorder(targetId: any, movingDown: any): void;
        exitReorderingMode(): void;
        handleOutsideClick(): void;
        announceGrabItem(): void;
        announceMovingItem(currentIndex: any): void;
        announceDropItem(): void;
        announceCancelReorderItem(): void;
        render(): JSX.Element;
        context: any;
        setState<K extends string | number | symbol>(state: any, callback?: () => void): void;
        forceUpdate(callBack?: () => void): void;
        readonly props: Readonly<any> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<any>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        shouldComponentUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): boolean;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<any>, prevState: Readonly<any>): any;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<any>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any): void;
    };
    keyboardSortableDesc: {
        readonly onFocusDesc: string;
        readonly onGrabDescA: string;
        readonly onGrabDescB: string;
        readonly onDragDesc: string;
        readonly onDropDesc: string;
        readonly onCancelDesc: string;
    };
    contextTypes: {
        register: PropTypes.Validator<(...args: any[]) => any>;
        unregister: PropTypes.Validator<(...args: any[]) => any>;
        getPrevDropTarget: PropTypes.Validator<(...args: any[]) => any>;
        getNextDropTarget: PropTypes.Validator<(...args: any[]) => any>;
    };
    propTypes: {
        index: PropTypes.Validator<number>;
        dndId: PropTypes.Validator<any>;
        onMove: typeof checkReorderCallbackProp;
        onHover: typeof checkReorderCallbackProp;
        dragItemName: PropTypes.Validator<string>;
    };
    defaultProps: {
        onMove: any;
        onHover: any;
        readonly dragItemName: string;
    };
    contextType?: React.Context<any>;
};
declare function checkReorderCallbackProp(props: any, propName: any, componentName: any, ...rest: any[]): Error;
export {};
