import React from 'react'; import { View } from 'react-native'; import type { PressableProps } from 'react-native'; import type { GestureResponderEvent } from 'react-native'; import type { TextProps } from '../Text'; import { SpacingProps } from '../../core/utils'; import { type ComponentSizeValue } from '../../core/theme/componentSize'; type MenuTone = 'default' | 'primary' | 'danger' | 'success' | 'warning'; export interface MenuItemButtonProps extends SpacingProps { /** Text label (alternative to children) */ title?: string; /** Custom content */ children?: React.ReactNode; /** Leading icon */ startIcon?: React.ReactNode; /** Trailing icon / shortcut hint */ endIcon?: React.ReactNode; /** Click handler */ onPress?: () => void; /** Whether the button is disabled */ disabled?: boolean; /** Whether the button is active (selected) */ active?: boolean; /** Whether the button has destructive styling */ danger?: boolean; /** Whether the button should take up full width */ fullWidth?: boolean; /** Size of the button */ size?: ComponentSizeValue; /** Whether to use compact styling */ compact?: boolean; /** Whether to use fully rounded corners */ rounded?: boolean; /** Custom styles override */ style?: any; /** Callback fired when press starts */ onPressIn?: (event: GestureResponderEvent) => void; /** Callback fired when press ends */ onPressOut?: (event: GestureResponderEvent) => void; /** Web-only mouse down handler */ onMouseDown?: (event: any) => void; /** Web-only mouse enter handler */ onMouseEnter?: (event: any) => void; /** Web-only mouse leave handler */ onMouseLeave?: (event: any) => void; /** Pointer hover start handler (web) */ onHoverIn?: PressableProps['onHoverIn']; /** Pointer hover end handler (web) */ onHoverOut?: PressableProps['onHoverOut']; /** Focus handler */ onFocus?: PressableProps['onFocus']; /** Blur handler */ onBlur?: PressableProps['onBlur']; /** Semantic tone for menu styling */ tone?: MenuTone; /** Tone to apply when hovered */ hoverTone?: MenuTone; /** Tone to apply when active/pressed */ activeTone?: MenuTone; /** Override text color for base state */ textColor?: string; /** Override text color when hovered */ hoverTextColor?: string; /** Override text color when active */ activeTextColor?: string; /** Test identifier forwarded to Pressable */ testID?: string; /** Override props applied to the inner label `` (style, weight, ff, size, colorVariant). */ labelProps?: Omit; } export declare const MenuItemButton: React.ForwardRefExoticComponent>; export default MenuItemButton;