import { CSSProperties, FocusEventHandler, HTMLProps, MouseEvent, ReactNode } from 'react';
import { IconName } from './Icon';
import { Intent } from './Intent';
export declare const Menu: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes>;
export interface MenuItemContentsProps {
icon?: IconName | ReactNode;
intent?: Intent;
text?: ReactNode;
right?: string | ReactNode;
className?: string;
active?: boolean;
disabled?: boolean;
style?: CSSProperties;
}
export declare const MenuItemContents: (props: MenuItemContentsProps) => import("react/jsx-runtime").JSX.Element;
export interface CommonMenuItemProps {
icon?: IconName | ReactNode;
intent?: Intent;
style?: CSSProperties;
className?: string;
}
interface MenuItemProps extends CommonMenuItemProps {
text: ReactNode;
disabled?: boolean;
active?: boolean;
onClick?: (e: MouseEvent) => void;
onMouseDown?: (e: MouseEvent) => void;
onFocus?: FocusEventHandler;
right?: string | ReactNode;
shouldDismissPopover?: boolean;
tabIndex?: number;
}
export declare const MenuItem: import("react").ForwardRefExoticComponent>;
interface MenuItemForInteractiveContentProps extends CommonMenuItemProps {
children: ReactNode;
}
/**
* Use MenuItemForInteractiveContent when you need to include interactive elements
* (like checkboxes, radio buttons, or other inputs) within a menu item.
* This component renders as a div instead of a button to support nested interactive content.
*
* For standard menu actions, use MenuItem instead.
*
* Example:
*
*
*
*/
export declare const MenuItemForInteractiveContent: import("react").ForwardRefExoticComponent>;
interface MenuExternalLinkProps extends CommonMenuItemProps {
href: string;
text: ReactNode;
right?: string | ReactNode;
tabIndex?: number;
download?: boolean | string;
onClick?: (e: MouseEvent) => void;
}
/**
* If you want to use a menu item as an external link, use `MenuExternalLink` and provide an `href` prop.
* For internal links with react-router, use `MenuLink` from ui-core.
*/
export declare const MenuExternalLink: import("react").ForwardRefExoticComponent>;
interface MenuDividerProps {
title?: ReactNode;
className?: string;
}
export declare const MenuDivider: (props: MenuDividerProps) => import("react/jsx-runtime").JSX.Element;
export {};