declare const _default: import("@restart/context/mapContextToProps").ContextInjectedComponent<typeof ListItem, any, any>;
export default _default;
/**
 * @deprecated - Components in the legacy folder (/src/legacy) are deprecated. Please use a component from the components folder (/src/components) instead. Legacy components may not follow accessibility standards.
 **/
declare class ListItem extends React.Component<any, any, any> {
    constructor(props: any);
    constructor(props: any, context: any);
    componentDidMount(): void;
    checkElements: (tag: any) => any;
    countDOMChildren: (children: any, tag: any) => any;
    getChildrenElements: (nameArr: any) => {
        length: number;
    };
    handleClick: (e: any, eventKey: any) => void;
    changeTabIndex: (tabbableChildren: any, index: any) => void;
    handleKeyDown: (e: any, eventKey: any) => void;
    handleBlur: (e: any) => void;
    verifyStructure(): void;
    render(): JSX.Element;
}
declare namespace ListItem {
    namespace propTypes {
        let active: PropTypes.Requireable<boolean>;
        let children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        let className: PropTypes.Requireable<string>;
        let customAnchorNode: PropTypes.Requireable<PropTypes.ReactElementLike>;
        let customRefProp: PropTypes.Requireable<string>;
        let disabled: PropTypes.Requireable<boolean>;
        let eventKey: PropTypes.Requireable<string>;
        let focus: PropTypes.Requireable<boolean>;
        let focusLockTabbableChildren: PropTypes.Requireable<boolean>;
        let focusLockTabbableChildrenProps: PropTypes.Requireable<PropTypes.InferProps<{
            /** @prop Query for focusLockTabbableChildren | '' */
            tabbableChildrenQuery: PropTypes.Validator<string>;
            /** @prop Indicates whether this ListItem has tabbable children that spawn Popovers | false */
            tabbableChildrenHasPopover: PropTypes.Validator<boolean>;
            /** @prop Only for when using tabbableChildrenHasPopover. Need to checkout the EventOverlay for blur purposes | '' */
            portalNodeQuery: PropTypes.Validator<string>;
            /** @prop Used for tabbableChildrenHasPopover to find the DOM element of Popovers */
            tabbableChildSpawnedPopoverQuery: PropTypes.Requireable<string>;
        }>>;
        let focusOnLoad: PropTypes.Requireable<boolean>;
        let id: PropTypes.Requireable<string>;
        let isReadOnly: PropTypes.Requireable<boolean>;
        let itemIndex: PropTypes.Requireable<number>;
        let keyboardKey: PropTypes.Requireable<string>;
        let label: PropTypes.Requireable<string>;
        let link: PropTypes.Requireable<string>;
        let onBlur: PropTypes.Requireable<(...args: any[]) => any>;
        let onClick: PropTypes.Requireable<(...args: any[]) => any>;
        let onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
        let parentKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
        let parentOnSelect: PropTypes.Requireable<(...args: any[]) => any>;
        let refName: PropTypes.Requireable<string>;
        let role: PropTypes.Requireable<string>;
        let separator: PropTypes.Requireable<boolean>;
        let specifyRoleWithoutList: PropTypes.Requireable<boolean>;
        let title: PropTypes.Requireable<string>;
        let type: PropTypes.Requireable<string | number>;
        let value: PropTypes.Requireable<NonNullable<string | number | object>>;
    }
    namespace defaultProps {
        let active_1: boolean;
        export { active_1 as active };
        let children_1: any;
        export { children_1 as children };
        let className_1: string;
        export { className_1 as className };
        let customAnchorNode_1: any;
        export { customAnchorNode_1 as customAnchorNode };
        let customRefProp_1: string;
        export { customRefProp_1 as customRefProp };
        let disabled_1: boolean;
        export { disabled_1 as disabled };
        let eventKey_1: string;
        export { eventKey_1 as eventKey };
        let focus_1: boolean;
        export { focus_1 as focus };
        let focusLockTabbableChildren_1: boolean;
        export { focusLockTabbableChildren_1 as focusLockTabbableChildren };
        export namespace focusLockTabbableChildrenProps_1 {
            let tabbableChildrenQuery: string;
            let tabbableChildrenHasPopover: boolean;
            let portalNodeQuery: string;
        }
        export { focusLockTabbableChildrenProps_1 as focusLockTabbableChildrenProps };
        let focusOnLoad_1: boolean;
        export { focusOnLoad_1 as focusOnLoad };
        let id_1: any;
        export { id_1 as id };
        let itemIndex_1: any;
        export { itemIndex_1 as itemIndex };
        let isReadOnly_1: boolean;
        export { isReadOnly_1 as isReadOnly };
        let keyboardKey_1: string;
        export { keyboardKey_1 as keyboardKey };
        let label_1: string;
        export { label_1 as label };
        let link_1: string;
        export { link_1 as link };
        let onBlur_1: any;
        export { onBlur_1 as onBlur };
        let onClick_1: any;
        export { onClick_1 as onClick };
        let onKeyDown_1: any;
        export { onKeyDown_1 as onKeyDown };
        let parentKeyDown_1: any;
        export { parentKeyDown_1 as parentKeyDown };
        let parentOnSelect_1: any;
        export { parentOnSelect_1 as parentOnSelect };
        let refName_1: string;
        export { refName_1 as refName };
        let role_1: string;
        export { role_1 as role };
        let separator_1: boolean;
        export { separator_1 as separator };
        let specifyRoleWithoutList_1: boolean;
        export { specifyRoleWithoutList_1 as specifyRoleWithoutList };
        let title_1: string;
        export { title_1 as title };
        let type_1: string;
        export { type_1 as type };
        let value_1: string;
        export { value_1 as value };
    }
    let displayName: string;
}
import React from 'react';
import PropTypes from 'prop-types';
