///
import { Component, ComponentClass, MouseEvent, ReactChild, ReactChildren } from 'react';
export interface WithNavigationArgs {
isSelectable(child: ReactChild): boolean;
}
export interface WithNavigationProps {
children: ReactChildren;
hoverIdx?: number;
isSelectable?(child: ReactChild): boolean;
onEndReached?(): void;
onHoverChange(idx: number | undefined, node: Component | undefined): void;
onMouseLeave(event: MouseEvent): void;
onStartReached?(): void;
restartOnEnd: boolean;
rootNode?: HTMLElement;
scrollOffset?: number;
useKeys?: boolean;
}
export declare type WithNavigationHOC = (decorated: ComponentClass) => ComponentClass;
export interface INavigableComponent extends Component {
getNextIndex(increment: number): number;
justPressedKey(): void;
}
export default function withNavigation({isSelectable: defaultIsSelectable}: WithNavigationArgs): WithNavigationHOC;