import React from 'react';
import PropTypes from 'prop-types';
export declare type KeyboardSortableContextProps = {
    role?: string;
    testAutomationId?: string;
};
export declare type KeyboardSortableContextState = {
    items: object;
};
export declare function keyboardSortableContext(Component: any): {
    new (props: Readonly<KeyboardSortableContextProps>): {
        state: {
            items: {};
        };
        getChildContext(): {
            register: (index: any, dndId: any) => void;
            unregister: (index: any) => void;
            getPrevDropTarget: (index: any) => any;
            getNextDropTarget: (index: any) => any;
        };
        unregister: (index: any) => void;
        register: (index: any, dndId: any) => void;
        getPrevDropTarget: (index: any) => any;
        getNextDropTarget: (index: any) => any;
        render(): JSX.Element;
        context: any;
        setState<K extends "items">(state: KeyboardSortableContextState | ((prevState: Readonly<KeyboardSortableContextState>, props: Readonly<KeyboardSortableContextProps>) => KeyboardSortableContextState | Pick<KeyboardSortableContextState, K>) | Pick<KeyboardSortableContextState, K>, callback?: () => void): void;
        forceUpdate(callBack?: () => void): void;
        readonly props: Readonly<KeyboardSortableContextProps> & Readonly<{
            children?: React.ReactNode;
        }>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<KeyboardSortableContextProps>, nextState: Readonly<KeyboardSortableContextState>, nextContext: any): boolean;
        componentWillUnmount?(): void;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<KeyboardSortableContextProps>, prevState: Readonly<KeyboardSortableContextState>): any;
        componentDidUpdate?(prevProps: Readonly<KeyboardSortableContextProps>, prevState: Readonly<KeyboardSortableContextState>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<KeyboardSortableContextProps>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<KeyboardSortableContextProps>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<KeyboardSortableContextProps>, nextState: Readonly<KeyboardSortableContextState>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<KeyboardSortableContextProps>, nextState: Readonly<KeyboardSortableContextState>, nextContext: any): void;
    };
    new (props: KeyboardSortableContextProps, context?: any): {
        state: {
            items: {};
        };
        getChildContext(): {
            register: (index: any, dndId: any) => void;
            unregister: (index: any) => void;
            getPrevDropTarget: (index: any) => any;
            getNextDropTarget: (index: any) => any;
        };
        unregister: (index: any) => void;
        register: (index: any, dndId: any) => void;
        getPrevDropTarget: (index: any) => any;
        getNextDropTarget: (index: any) => any;
        render(): JSX.Element;
        context: any;
        setState<K extends "items">(state: KeyboardSortableContextState | ((prevState: Readonly<KeyboardSortableContextState>, props: Readonly<KeyboardSortableContextProps>) => KeyboardSortableContextState | Pick<KeyboardSortableContextState, K>) | Pick<KeyboardSortableContextState, K>, callback?: () => void): void;
        forceUpdate(callBack?: () => void): void;
        readonly props: Readonly<KeyboardSortableContextProps> & Readonly<{
            children?: React.ReactNode;
        }>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<KeyboardSortableContextProps>, nextState: Readonly<KeyboardSortableContextState>, nextContext: any): boolean;
        componentWillUnmount?(): void;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<KeyboardSortableContextProps>, prevState: Readonly<KeyboardSortableContextState>): any;
        componentDidUpdate?(prevProps: Readonly<KeyboardSortableContextProps>, prevState: Readonly<KeyboardSortableContextState>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<KeyboardSortableContextProps>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<KeyboardSortableContextProps>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<KeyboardSortableContextProps>, nextState: Readonly<KeyboardSortableContextState>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<KeyboardSortableContextProps>, nextState: Readonly<KeyboardSortableContextState>, nextContext: any): void;
    };
    childContextTypes: {
        register: PropTypes.Validator<(...args: any[]) => any>;
        unregister: PropTypes.Validator<(...args: any[]) => any>;
        getPrevDropTarget: PropTypes.Validator<(...args: any[]) => any>;
        getNextDropTarget: PropTypes.Validator<(...args: any[]) => any>;
    };
    defaultProps: {
        role: string;
    };
    contextType?: React.Context<any>;
};
