/**
 * External dependencies
 */
import type { ReactNode } from 'react';
/**
 * Internal dependencies
 */
import type { ButtonAsButtonProps } from '../button/types';
export type MenuItemProps = Pick<ButtonAsButtonProps, 'isDestructive'> & {
    /**
     * A CSS `class` to give to the container element.
     */
    className?: string;
    /**
     * The children elements.
     */
    children?: ReactNode;
    /**
     * Text to use as description for button text.
     */
    info?: string;
    /**
     * The icon to render. Supported values are: Dashicons (specified as
     * strings), functions, Component instances and `null`.
     *
     * @default null
     */
    icon?: React.JSX.Element | null;
    /**
     * Determines where to display the provided `icon`.
     */
    iconPosition?: ButtonAsButtonProps['iconPosition'];
    /**
     * Whether or not the menu item is currently selected, `isSelected` is only taken into
     * account when the `role` prop is either `"menuitemcheckbox"` or `"menuitemradio"`.
     */
    isSelected?: boolean;
    /**
     * If shortcut is a string, it is expecting the display text. If shortcut is an object,
     * it will accept the properties of `display` (string) and `ariaLabel` (string).
     */
    shortcut?: string | {
        display: string;
        ariaLabel: string;
    };
    /**
     * If you need to have selectable menu items use menuitemradio for single select,
     * and menuitemcheckbox for multiselect.
     *
     * @default 'menuitem'
     */
    role?: string;
    /**
     * Allows for markup other than icons or shortcuts to be added to the menu item.
     *
     */
    suffix?: ReactNode;
    /**
     * Human-readable label for item.
     */
    label?: string;
};
//# sourceMappingURL=types.d.ts.map