/** * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import React from 'react'; import { GestureResponderEvent, ImageProps } from 'react-native'; import { RenderProp, TouchableWebProps, Overwrite, LiteralUnion } from '../../devsupport'; import { StyledComponentProps } from '../../theme'; import { TextProps } from '../text/text.component'; import { MenuItemDescriptor } from './menu.service'; type MenuItemStyledProps = Overwrite; }>; type TouchableMenuItemProps = Overwrite void; }>; export interface MenuItemProps extends TouchableMenuItemProps, MenuItemStyledProps { title?: RenderProp | React.ReactText; accessoryLeft?: RenderProp>; accessoryRight?: RenderProp>; selected?: boolean; descriptor?: MenuItemDescriptor; } export type MenuItemElement = React.ReactElement; /** * A single item in Menu. * Items should be rendered within Menu or MenuGroup to provide a usable navigation component. * * @extends React.Component * * @property {ReactElement | ReactText | (TextProps) => ReactElement} title - String, number or a function component * to render within the item. * If it is a function, expected to return a Text. * * @property {ReactElement | (ImageProps) => ReactElement} accessoryLeft - Function component * to render to start of the *title*. * Expected to return an Image. * * @property {ReactElement | (ImageProps) => ReactElement} accessoryRight - Function component * to render to end of the *title*. * Expected to return an Image. * * @property {TouchableOpacityProps} ...TouchableOpacityProps - Any props applied to TouchableOpacity component. * * @overview-example MenuItemSimpleUsage */ export declare class MenuItem extends React.Component { private onMouseEnter; private onMouseLeave; private onFocus; private onBlur; private onPress; private onPressIn; private onPressOut; private getComponentStyle; render(): React.ReactNode; } export {};