import type React from 'react';
import { ACTIONS } from './ACTIONS';
type ReducerState = {
    canFocusViewMore?: boolean;
    focusedCategoryIndex?: number;
    focusedItemIndex?: number;
    focusOnEmptyStateButton?: boolean;
    focusOnSearch: boolean;
    focusOnViewMore: boolean;
    listSize: number;
    selectedItemIndex?: number;
};
export type ReducerAction = {
    payload: Partial<ReducerState> & {
        positions?: number;
        step?: number;
    };
    type: ACTIONS;
};
export type useSelectAndFocusReturnType = {
    focusedCategoryIndex?: number;
    focusedItemIndex?: number;
    focusOnEmptyStateButton?: boolean;
    focusOnSearch: boolean;
    focusOnViewMore: boolean;
    onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => void;
    selectedItemIndex?: number;
    setFocusedCategoryIndex: (index?: number) => void;
    setFocusedItemIndex: (index?: number) => void;
    setFocusOnSearch: () => void;
};
declare function useSelectAndFocusOnArrowNavigation(listSize: number, step: number, canFocusViewMore: boolean, itemIsDisabled: (index: number) => boolean, isFocusSearch?: boolean, autoFocusSearch?: boolean): useSelectAndFocusReturnType;
export default useSelectAndFocusOnArrowNavigation;
