/// import type { ViewStyle, TouchableNativeFeedbackProps, TouchableHighlightProps } from 'react-native'; import type { BorderProps, ColorProps, FlexboxProps, LayoutProps, SpaceProps, TypographyProps, PositionProps } from 'styled-system'; import type { customBorderProps, customBackgroundProps, customOutlineProps, customLayoutProps, customExtraProps, customShadowProps, customTypographyProps, customPositionProps } from '../../../utils/customProps'; import type { ITextProps } from '../../primitives/Text'; import type { IBoxProps } from '../../primitives/Box'; export declare type IMenuProps = BorderProps & ColorProps & SpaceProps & LayoutProps & FlexboxProps & customBorderProps & customExtraProps & customOutlineProps & customShadowProps & customLayoutProps & customTypographyProps & customBackgroundProps & TypographyProps & PositionProps & customPositionProps & BorderProps & { trigger: (_props: any, state: { open: boolean; }) => JSX.Element; children?: JSX.Element | Array; onOpen?: () => void; onClose?: () => void; offsetSpace?: number; closeOnSelect?: boolean; style?: ViewStyle; }; export declare type IMenuItemProps = IBoxProps & BorderProps & customBorderProps & customBackgroundProps & TouchableNativeFeedbackProps & TouchableHighlightProps & { children: string | JSX.Element | Array; isDisabled?: boolean; style?: ViewStyle; _text?: ITextProps; }; export declare type IMenuItemOptionProps = IMenuItemProps & { value: string | number; }; export declare type IMenuGroupProps = { title: string; children: JSX.Element | Array; _title?: ITextProps; }; export declare type IMenuContextProps = { closeMenu?: () => void; open?: boolean; closeOnSelect?: boolean; }; export declare type IMenuOptionGroupProps = IMenuGroupProps & { type: 'radio' | 'checkbox'; defaultValue?: string | number | Array | Array; value?: string | number | Array | Array; onChange?: (val: any) => void; }; export declare type IMenuOptionContextProps = { values: Array; onChange: (val: string | number) => void; type: 'radio' | 'checkbox'; }; export declare type IMenuComponent = ((props: IMenuProps) => JSX.Element) & { Item: React.MemoExoticComponent<(props: IMenuItemProps) => JSX.Element>; Group: React.MemoExoticComponent<(props: IMenuGroupProps) => JSX.Element>; ItemOption: React.MemoExoticComponent<(props: IMenuItemOptionProps) => JSX.Element>; OptionGroup: React.MemoExoticComponent<(props: IMenuOptionGroupProps) => JSX.Element>; };