import * as React from 'react'; export interface ISelectionStateArgs { items: T[]; initialSelected?: T[]; isEqual?: (a: T, b: T) => boolean; isItemSelectable?: (item: T) => boolean; externalState?: [T[], React.Dispatch>]; } export interface ISelectionState { selectedItems: T[]; isItemSelected: (item: T) => boolean; isItemSelectable: (item: T) => boolean; toggleItemSelected: (item: T, isSelecting?: boolean) => void; selectMultiple: (items: T[], isSelecting: boolean) => void; areAllSelected: boolean; selectAll: (isSelecting?: boolean) => void; setSelectedItems: (items: T[]) => void; } export declare const useSelectionState: ({ items, initialSelected, isEqual, isItemSelectable, externalState, }: ISelectionStateArgs) => ISelectionState;