import { UseTreeViewCoreParameter } from '../../types'; import { UseTreeViewExpansionReturn } from '../useTreeViewExpansion/useTreeViewExpansion.types'; import { UseTreeViewItemsReturn } from '../useTreeViewItems/useTreeViewItems.types'; export interface TreeViewItemSelectionRange { start?: string | null; end?: string | null; next?: string | null; current?: string; } export interface UseTreeViewSelectionParameter extends UseTreeViewCoreParameter { itemsAPI: UseTreeViewItemsReturn; expansionAPI: UseTreeViewExpansionReturn; } export interface UseTreeViewSelectionReturn { isItemSelected: (itemId: string) => boolean; selectItem: (event: React.SyntheticEvent, itemId: string, multiple?: boolean) => void; rangeSelectToFirst: (event: React.KeyboardEvent, itemId: string) => void; rangeSelectToLast: (event: React.KeyboardEvent, itemId: string) => void; selectRange: (event: React.SyntheticEvent, items: TreeViewItemSelectionRange, stacked?: boolean) => void; }