import { Maybe , TComputedBounds , TGetBoundsForNodeArgs } from './utils' ; type TSelectableContext = { register ( selectableItem ) : void ; unregister ( selectableItem ) : void ; selectAll ( ) : void ; clearSelection ( ) : void ; getScrolledContainer ( ) : Maybe < HTMLElement > ; } ; export type TSelectableGroupContext = { selectable : TSelectableContext ; } ; export type TSelectableItemState = { isSelected : boolean ; isSelecting : boolean ; } ; export type TSelectableItem = { updateBounds ( containerScroll ? ) : void ; registerSelectable ( containerScroll ? ) : void ; setState ( state ) : void ; state : TSelectableItemState ; deselected : boolean ; node : Maybe < HTMLElement > ; bounds : Maybe < TComputedBounds [ ] > ; } ; export type TSelectableItemProps = TSelectableItemState & { selectableRef ( node ) : void ; } ;