/**
 * @file DropdownMenuItem.tsx
 * @output Exports DropdownMenuItem component
 * @position Sub-component; used inside DropdownMenu
 *
 * Interactive menu item with role="menuitem". Keyboard navigation
 * is handled by useListFocus on the parent menu container.
 *
 * Composes Item for the shared start content + label + description + end content layout.
 * Passes role="menuitem" so Item puts onClick on the root div instead of
 * creating an invisible button (keyboard access is provided by the parent menu).
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/DropdownMenu/DropdownMenu.doc.mjs
 * - /packages/core/src/DropdownMenu/DropdownMenuItem.doc.mjs
 * - /packages/core/src/DropdownMenu/DropdownMenu.test.tsx
 * - /packages/core/src/DropdownMenu/index.ts
 * - /apps/storybook/stories/DropdownMenu.stories.tsx
 * - /packages/cli/assets/templates/blocks/components/DropdownMenu/ (showcase blocks)
 */
import { type ReactNode } from 'react';
import { type IconType } from '../Icon';
import type { BaseProps } from '../BaseProps';
export interface DropdownMenuItemProps extends Pick<BaseProps, 'xstyle' | 'className' | 'style'> {
    /** Icon to display before the label. */
    icon?: ReactNode | IconType;
    /** Primary label text. */
    label: ReactNode;
    /** Secondary description text displayed below the label. */
    description?: ReactNode;
    /** Callback when the item is selected. */
    onClick?: () => void;
    /** Whether the item is disabled. @default false */
    isDisabled?: boolean;
    /** Additional content to render after the label/description. */
    endContent?: ReactNode;
    /**
     * Whether activating the item closes the menu. Set `false` for an action
     * that reports its result on the item itself (a copy row swapping to
     * "Copied"), matching the checkbox and radio items, which already decide
     * this for themselves.
     * @default true
     */
    hasCloseOnSelect?: boolean;
    /**
     * Visual variant. `'destructive'` renders the label, description, and icon in
     * the error color for dangerous actions (e.g. Delete). @default 'default'
     */
    variant?: 'default' | 'destructive';
}
/**
 * An interactive dropdown menu item with icon, label, and optional description.
 *
 * Must be used inside DropdownMenu. Keyboard navigation is provided
 * automatically by the parent via useListFocus.
 *
 * @example
 * ```
 * <DropdownMenu button={{ label: 'Actions' }}>
 *   <DropdownMenuItem icon={PencilIcon} label="Edit" onClick={handleEdit} />
 *   <DropdownMenuItem label="Delete" variant="destructive" onClick={handleDelete} />
 * </DropdownMenu>
 * ```
 */
export declare function DropdownMenuItem({ icon, label, description, onClick, isDisabled, endContent, hasCloseOnSelect, variant, xstyle, className, style, }: DropdownMenuItemProps): import("react").JSX.Element;
export declare namespace DropdownMenuItem {
    var displayName: string;
}
//# sourceMappingURL=DropdownMenuItem.d.ts.map