import * as React from 'react'; export declare const useMenu: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance void) | undefined; onPointerLeave?: (() => void) | undefined; onClick: () => void; 'data-expanded'?: "" | undefined; 'data-open'?: "" | undefined; 'aria-haspopup': "true"; 'aria-expanded': boolean; 'data-scope': "menu"; 'data-part': "trigger"; ref: (node: HTMLElement | null) => void; 'data-positioner-open'?: string; }; arrowProps: { 'data-instant'?: "switch" | undefined; 'data-scope': string; 'data-part': string; ref: (node: HTMLDivElement | null) => void; }; popupProps: { onPointerEnter?: (() => void) | undefined; onPointerLeave?: (() => void) | undefined; 'data-instant-type'?: "switch" | undefined; 'data-instant'?: "" | undefined; 'data-scope': string; 'data-part': string; ref: (node: HTMLElement | null) => void; tabIndex: number; 'data-open'?: string; }; positionerProps: { 'data-scope': string; 'data-part': string; ref: (node: HTMLDivElement | null) => void; }; labelProps: { role: "none"; 'data-scope': "menu"; 'data-part': "label"; }; separatorProps: { role: "separator"; 'data-scope': "menu"; 'data-part': "separator"; }; radioGroupProps: { role: "group"; 'data-scope': "menu"; 'data-part': "radiogroup"; }; getItemProps: (input: { value: string; disabled?: boolean; type?: "item" | "checkbox" | "radio"; checked?: boolean; inPortal?: boolean; closeOnSelect?: boolean; onSelect?: (event: { originalEvent: React.SyntheticEvent; value: string; preventDefault: () => void; readonly defaultPrevented: boolean; }) => void; }) => { onMouseDown: (event: React.MouseEvent) => void; onMouseMove: () => void; onMouseEnter: (() => void) | undefined; 'data-disabled'?: "" | undefined; 'data-focused'?: "" | undefined; ref: (element: HTMLElement | null) => void; id: string; role: "menuitem" | "menuitemcheckbox" | "menuitemradio"; tabIndex: -1; 'aria-disabled': true | undefined; 'aria-checked': boolean | undefined; 'data-scope': "menu"; 'data-part': "item"; 'data-value': string; } | { onMouseDown: (event: React.MouseEvent) => void; onMouseMove: () => void; onMouseEnter: (() => void) | undefined; 'data-disabled'?: "" | undefined; 'data-checked': ""; 'data-focused'?: "" | undefined; ref: (element: HTMLElement | null) => void; id: string; role: "menuitem" | "menuitemcheckbox" | "menuitemradio"; tabIndex: -1; 'aria-disabled': true | undefined; 'aria-checked': boolean | undefined; 'data-scope': "menu"; 'data-part': "item"; 'data-value': string; } | { onMouseDown: (event: React.MouseEvent) => void; onMouseMove: () => void; onMouseEnter: (() => void) | undefined; 'data-disabled'?: "" | undefined; 'data-unchecked': ""; 'data-focused'?: "" | undefined; ref: (element: HTMLElement | null) => void; id: string; role: "menuitem" | "menuitemcheckbox" | "menuitemradio"; tabIndex: -1; 'aria-disabled': true | undefined; 'aria-checked': boolean | undefined; 'data-scope': "menu"; 'data-part': "item"; 'data-value': string; }; getSubTriggerProps: (input: { value: string; disabled?: boolean; inPortal?: boolean; sub?: { state: { open: boolean; }; open: () => void; close: () => void; toggle: () => void; listRef: React.RefObject; subtriggerProps?: { ref: (node: HTMLElement | null) => void; }; openDelay?: number; closeDelay?: number; openOnHover?: boolean; }; }) => { onMouseDown: (event: React.MouseEvent) => void; onMouseMove: () => void; onMouseEnter: () => void; onMouseLeave: (event: React.MouseEvent) => void; 'data-open'?: "" | undefined; 'data-disabled'?: "" | undefined; 'data-focused'?: "" | undefined; ref: (node: HTMLElement | null) => void; id: string; role: "menuitem"; tabIndex: -1; 'aria-expanded': boolean | undefined; 'aria-disabled': true | undefined; 'data-scope': "menu"; 'data-part': "subtrigger"; 'data-value': string; }; getListProps: (input?: { value?: string; sub?: { state: { open: boolean; }; listProps?: { ref: (node: HTMLDivElement | null) => void; }; }; }) => { onFocus?: (() => void) | undefined; onBlur?: (() => void) | undefined; onKeyDown: (event: React.KeyboardEvent) => void; 'data-composite'?: string | undefined; id: string; role: "menu"; 'aria-activedescendant': string | undefined; tabIndex: number; 'data-scope': "menu"; 'data-part': "list"; ref?: ((node: HTMLDivElement | null) => void) | undefined; }; getIndicatorProps: (input: { type?: "item" | "checkbox" | "radio"; checked?: boolean; submenuOpen?: boolean; match?: "open" | "closed" | "checked" | "unchecked"; }) => { [x: string]: string | boolean; matchVisible: boolean; 'data-scope': "menu"; 'data-part': "indicator"; }; checkboxItemIndicatorProps: { 'data-scope': "menu"; 'data-part': "indicator"; }; radioItemIndicatorProps: { 'data-scope': "menu"; 'data-part': "indicator"; }; submenuIndicatorProps: { 'data-scope': "menu"; 'data-part': "indicator"; }; updateItemAria: (element: HTMLElement) => void; isFocused: (itemId: string) => boolean; getItemId: (value: string) => string; getListId: (value?: string) => string; changeVisibleState: (isVisible: boolean) => void; markMouseInteraction: (newValue: boolean) => void; changeFocusedOptionId: (newId: string) => void; hideSubmenusAfterLevel: (targetItemId: string) => void; hideAllSubmenus: () => void; onListKeyDown: (event: React.KeyboardEvent) => void; onListFocus: () => void; onListBlur: () => void; onOverlayEnter: (autoFocus?: boolean) => void; onTriggerClick: () => void; onItemClick: (event: React.MouseEvent | React.KeyboardEvent, isBlur?: boolean, isPortal?: boolean) => void; }>;