import React from 'react'; import { BoxSystemProps } from './Box'; import { Point } from '../utils/geometry'; import { Item } from '../utils/selectableItems'; import { CalculateMenuPositionOptions, MenuPosition } from './menuPosition'; import { StyleConfig } from '../utils/styleConfig'; export declare type MenuParts = { menu: ''; scrollIndicator: 'hover'; item: 'highlighted' | 'grouped' | 'disabled'; itemIcon: ''; label: ''; separator: ''; }; declare type MenuDOMProps = React.ComponentPropsWithRef<'div'>; declare type MenuStyleProp = { styleConfig?: StyleConfig; }; declare type MenuSystemProps = BoxSystemProps; declare type MenuOwnProps = { id?: string; role?: 'menu' | 'listbox'; buttonRef?: React.RefObject; buttonTextRef?: React.RefObject; anchorPoint?: Point; isOpen?: boolean; onClose?: () => void; refToFocusOnClose?: React.RefObject; highlightedIndex?: number; onHighlightedIndexChange?: (index?: number) => void; defaultHighlightedIndex?: number; onItemSelected?: (item: Item) => void; calculateMenuPosition?: (options: CalculateMenuPositionOptions) => MenuPosition | undefined; }; export declare type MenuProps = MenuDOMProps & MenuStyleProp & MenuSystemProps & MenuOwnProps & { as?: React.ElementType; }; export declare const Menu: React.ForwardRefExoticComponent & React.RefAttributes>; export declare type MenuItemProps = { ref?: React.RefObject; label: string; value?: string; disabled?: boolean; grouped?: boolean; selected?: boolean; onSelect?: () => void; role?: 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option'; index?: number; isReference?: boolean; }; export declare const MenuItem: React.ForwardRefExoticComponent & React.RefAttributes>; export declare type MenuItemCheckboxProps = Omit & { checked?: boolean; onChange?: (checked?: boolean) => void; defaultChecked?: boolean; }; export declare const MenuItemCheckbox: React.ForwardRefExoticComponent & React.RefAttributes>; export declare type MenuItemRadioGroupProps = { children: React.ReactNode; value?: string; onChange?: (value?: string) => void; defaultValue?: string; }; export declare function MenuItemRadioGroup({ children, value: valueProp, onChange, defaultValue, }: MenuItemRadioGroupProps): any; export declare type MenuItemRadioProps = Omit; export declare const MenuItemRadio: React.ForwardRefExoticComponent, "disabled" | "label" | "value" | "index" | "isReference"> & React.RefAttributes>; export declare type MenuItemLabelProps = { children: string; }; export declare function MenuItemLabel({ children }: MenuItemLabelProps): JSX.Element; export declare type MenuItemSeparatorProps = {}; export declare function MenuItemSeparator(props: MenuItemSeparatorProps): JSX.Element; export {};