import { type AriaAttributes, type Dispatch, type KeyboardEvent, type KeyboardEventHandler, type MouseEvent, type Ref, type SetStateAction } from "react"; import type { ListMultiSelectionVariant, ListProps, ListSelectionVariant } from "./ListProps"; interface listBoxAriaProps extends Pick { role: string; } export interface ListState { id?: string; focusVisible: boolean; selectedItem?: Variant extends ListMultiSelectionVariant ? Array : Item; highlightedIndex?: number; isDeselectable: boolean; isMultiSelect: boolean; isDisabled: boolean; } export interface ListHelpers { setFocusVisible: (visible: boolean) => void; setSelectedItem: Dispatch>; setHighlightedIndex: (highlightedIndex?: number) => void; handleSelect: (event: MouseEvent | KeyboardEvent, index: number | undefined, item: Item) => void; keyDownHandlers: { [key: string]: KeyboardEventHandler; }; } export declare function useList(props?: ListProps): { focusedRef: Ref; listProps: Partial> & listBoxAriaProps; state: ListState; helpers: ListHelpers; }; export {};