/// 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;