/** @packageDocumentation
 * @module Item
 */
import * as React from "react";
import type { AbstractMenuItemProps } from "@itwin/appui-abstract";
import type { IconSpec } from "@itwin/core-react";
import type { ActionButtonItemDef } from "./ActionButtonItemDef";
import { ItemDefBase } from "./ItemDefBase";
/** Menu Item Properties
 * @public
 */
export type MenuItemProps = AbstractMenuItemProps;
/** Menu Item
 * @alpha
 */
export declare class MenuItem extends ItemDefBase {
    private _id;
    private _actionItem?;
    private _submenu;
    private _onSelection?;
    /** onSelection is an optional parameter typically supplied to allow menu parent to close context menu when a menu item is selected. */
    constructor(props: MenuItemProps, onSelection?: () => void);
    get id(): string;
    get submenu(): MenuItem[];
    get actionItem(): ActionButtonItemDef | undefined;
    iconRightSpec?: IconSpec;
    itemPicked(): void;
}
/** Menu Item helper methods
 * @alpha
 */
export declare class MenuItemHelpers {
    static createMenuItems(itemPropsList: MenuItemProps[], onSelection?: () => void): MenuItem[];
    static createMenuItemNodes(itemList: MenuItem[]): React.ReactNode[];
    private static createMenuItemNode;
}
//# sourceMappingURL=MenuItem.d.ts.map