///
import * as React from 'react';
import { Component, MouseEvent, ReactChild, ReactChildren, ReactElement } from 'react';
export interface NavigableListPropsRenderProps {
children: ReactChildren;
getListItemRef(node: HTMLElement | null): void;
getListRef(node: HTMLElement | null): void;
}
export interface NavigableListProps {
hoverIdx: number;
isSelectable(child: ReactChild): boolean;
onEndReached?(): void;
onHoverChange(idx: number | undefined, node: Component | undefined): void;
onMouseLeave?(event: MouseEvent): void;
onStartReached?(): void;
render(props: NavigableListPropsRenderProps): ReactElement | null;
restartOnEnd?: boolean;
scrollOffset?: number;
useKeys?: boolean;
}
export default class NavigableList extends Component {
fromKeyboard: boolean;
justPressedKeyTimeout: any;
rootNode: HTMLElement | undefined;
componentDidUpdate(prevProps: any): void;
handleRootRef: (node: any) => void;
handleChildRef: (...a: any[]) => any;
handleChildComponentRef: (...a: any[]) => any;
handleItemEnter: (idx: any, child: any, params: any) => void;
handleMouseLeave: (event: React.MouseEvent) => void;
handleArrowDown: (event: any) => void;
handleArrowUp: (event: any) => void;
handleEnterOrSpacebar: (event: any) => void;
justPressedKey: () => void;
getNextIndex: (increment: any) => number;
adjustScroll: () => void;
injectSelectableProps: (child: any, idx: any) => React.DetailedReactHTMLElement<{
getRef: any;
ref: any;
highlighted: boolean;
onMouseLeave: (event: any, ...params: any[]) => void;
onMouseEnter: (...params: any[]) => void;
}, HTMLElement>;
handleEsc: (event: any) => void;
render(): JSX.Element;
}