import React, { LiHTMLAttributes, ReactElement, ReactNode } from 'react';
import { IconProps } from '../icons/generated';
export interface MenuItemBaseProps extends Omit, 'children' | 'onClick'> {
id: string;
/**
* 메뉴 깊이에 따른 시각적 형태
* @default 'default'
*/
variant?: 'default' | 'sub';
leftIcon?: ReactElement;
rightContent?: ReactNode;
}
export interface MenuItemDefaultProps extends MenuItemBaseProps {
asChild?: false;
label: string;
children?: never;
}
export interface MenuItemAsChildProps extends MenuItemBaseProps {
/** 단일 ReactElement를 메뉴 아이템 루트로 합성합니다. */
asChild: true;
label?: never;
children: ReactElement;
}
export type MenuItemProps = MenuItemDefaultProps | MenuItemAsChildProps;
export declare const MenuIcon: ({ selected, children }: {
selected: boolean;
children: ReactElement;
}) => React.ReactElement> | null;
export declare const MenuItem: React.ForwardRefExoticComponent>;