import React from 'react'; import { CancelableEventHandler } from '../../types/events'; import { ButtonDropdownProps, ButtonDropdownSettings, GroupToggle, HighlightProps, ItemActivate } from '../interfaces'; interface UseButtonDropdownOptions extends ButtonDropdownSettings { items: ButtonDropdownProps.Items; onItemClick?: CancelableEventHandler; onItemFollow?: CancelableEventHandler; onReturnFocus: () => void; expandToViewport?: boolean; hasFiltering: boolean; } interface UseButtonDropdownApi extends HighlightProps { isOpen: boolean; onKeyDown: (event: React.KeyboardEvent) => void; onKeyUp: (event: React.KeyboardEvent) => void; onItemActivate: ItemActivate; onGroupToggle: GroupToggle; onDropdownFocusLeave: () => void; onDropdownBlur: () => void; toggleDropdown: (options?: { moveHighlightOnOpen?: boolean; }) => void; closeDropdown: () => void; setIsUsingMouse: (isUsingMouse: boolean) => void; filteringValue: string; setFilteringValue: (value: string) => void; filteredItems: ButtonDropdownProps.Items; showExpandableGroups: boolean; } export declare function useButtonDropdown({ items, onItemClick, onItemFollow, onReturnFocus, hasExpandableGroups, isInRestrictedView, expandToViewport, hasFiltering }: UseButtonDropdownOptions): UseButtonDropdownApi; export {};