import type { StyleProp, TextStyle } from 'react-native'; import type { Descriptor, ParamListBase, RouteProp, } from '@react-navigation/native'; import type { BottomTabNavigationProp } from '@react-navigation/bottom-tabs/src/types'; import type * as React from 'react'; export type BottomTabNavigationOptions = { /** * Title text for the screen. */ title?: string; /** * Title string of a tab displayed in the tab bar */ label?: string; tabBarLabel?: string; /** * Style object for the tab label. */ labelStyle?: StyleProp; tabBarLabelStyle?: StyleProp; /** * A function that given { focused: boolean, color: string } returns a React.Node to display in the tab bar. */ tabBarIcon?: (props: { focused: boolean; color: string; size: number; }) => React.ReactNode; icon?: (props: { focused: boolean; color: string; size: number; }) => React.ReactNode; /** * Color for the icon and label in the active tab. */ color?: string; tabBarActiveTintColor?: string; /** * Color for the icon and label in the inactive tabs. */ tabBarInactiveTintColor?: string; /** * Accessibility label for the tab button. This is read by the screen reader when the user taps the tab. * It's recommended to set this if you don't have a label for the tab. */ tabBarAccessibilityLabel?: string; /** * ID to locate this tab button in tests. */ tabBarTestID?: string; }; export type BottomTabDescriptor = Descriptor< BottomTabNavigationOptions, BottomTabNavigationProp, RouteProp >; export type BottomTabDescriptorMap = Record;