import { type RefObject } from 'react'; /** * This component is intended to make a separation between * how the input events are handled and what the consumer * expects or cares about. * * Right now handles only keyboard events, but this could be * extended to any kind of input. */ interface ExploreModeA11yControlsProps { /** Any ref to which a keydown event handler will attach to */ ref: RefObject; /** Callback when a Left event happened * @param largeStep - should move faster * @param repeat - the movement is being repeated more than once * (useful for performance considerations) */ onLeft?: (largerStep: boolean, repeat: boolean) => void; /** Callback when a Right event happened */ onRight?: (largerStep: boolean, repeat: boolean) => void; /** Callback when an Accept event happened */ onAccept?: () => void; /** Callback when a Cancel event happened */ onCancel?: () => void; /** Callback when a Tab event happened * Allow consumers to prevent default behavior for it. */ onTab?: (preventDefault: () => void, isPrev: boolean) => void; } export declare const useKeyboardControls: ({ ref, onLeft, onRight, onAccept, onCancel, onTab, }: ExploreModeA11yControlsProps) => void; export {};