import { UseTreeViewCoreParameter } from '../../types'; import { UseTreeViewItemsReturn } from '../useTreeViewItems/useTreeViewItems.types'; import { UseTreeViewExpansionReturn } from '../useTreeViewExpansion/useTreeViewExpansion.types'; import { EventHandlers } from '../../../utils/types'; export interface UseTreeViewFocusParameter extends UseTreeViewCoreParameter { itemsAPI: UseTreeViewItemsReturn; expansionAPI: UseTreeViewExpansionReturn; } export interface UseTreeViewFocusReturn { createHandleFocus: (otherHandlers: EventHandlers) => (event: React.FocusEvent) => void; createHandleBlur: (otherHandlers: EventHandlers) => (event: React.FocusEvent) => void; activeDescendant: string | null; isItemFocused: (itemId: string) => boolean; focusItem: (event: React.SyntheticEvent, itemId: string | null) => void; }