import { Key } from '@react-types/shared'; export interface ToggleGroupProps { /** * Whether single or multiple selection is enabled. * @default 'single' */ selectionMode?: 'single' | 'multiple'; /** Whether the collection allows empty selection. */ disallowEmptySelection?: boolean; /** The currently selected keys in the collection (controlled). */ selectedKeys?: Iterable; /** The initial selected keys in the collection (uncontrolled). */ defaultSelectedKeys?: Iterable; /** Handler that is called when the selection changes. */ onSelectionChange?: (keys: Set) => void; /** Whether all items are disabled. */ isDisabled?: boolean; } export interface ToggleGroupState { /** Whether single or multiple selection is enabled. */ readonly selectionMode: 'single' | 'multiple'; /** Whether all items are disabled. */ readonly isDisabled: boolean; /** A set of keys for items that are selected. */ readonly selectedKeys: Set; /** Toggles the selected state for an item by its key. */ toggleKey(key: Key): void; /** Sets whether the given key is selected. */ setSelected(key: Key, isSelected: boolean): void; /** Replaces the set of selected keys. */ setSelectedKeys(keys: Set): void; } /** * Manages state for a group of toggles. * It supports both single and multiple selected items. */ export declare function useToggleGroupState(props: ToggleGroupProps): ToggleGroupState;