import { BottomTabNavigationOptions } from '@react-navigation/bottom-tabs'; import { DefaultNavigatorOptions, NavigationAction, NavigationProp, ParamListBase, TabActionHelpers, TabNavigationState, TabRouterOptions, useNavigationBuilder } from '@react-navigation/native'; import { TriggerMap } from './common'; export type ExpoTabsProps = ExpoTabsNavigatorOptions; export type ExpoTabsNavigatorScreenOptions = { detachInactiveScreens?: boolean; unmountOnBlur?: boolean; freezeOnBlur?: boolean; lazy?: boolean; }; export type ExpoTabsNavigatorOptions = DefaultNavigatorOptions, ExpoTabsScreenOptions, TabNavigationEventMap, ExpoTabsNavigationProp> & Omit & ExpoTabsNavigatorScreenOptions; export type ExpoTabsNavigationProp = NavigationProp, ExpoTabsScreenOptions, TabNavigationEventMap>; export type ExpoTabsScreenOptions = Pick & { params?: object; title: string; action: NavigationAction; }; export type TabNavigationEventMap = { /** * Event which fires on tapping on the tab in the tab bar. */ tabPress: { data: undefined; canPreventDefault: true; }; /** * Event which fires on long press on the tab in the tab bar. */ tabLongPress: { data: undefined; }; }; /** * The React Navigation custom navigator. * * @see [`useNavigationBuilder`](https://reactnavigation.org/docs/custom-navigators/#usenavigationbuilder) hook from React Navigation for more information. */ export type TabsContextValue = ReturnType, TabRouterOptions, TabActionHelpers, ExpoTabsNavigatorScreenOptions, TabNavigationEventMap>>; export type TabContextValue = TabsDescriptor['options']; export declare const TabContext: import("react").Context; /** * @hidden */ export declare const TabTriggerMapContext: import("react").Context; /** * @hidden */ export declare const TabsDescriptorsContext: import("react").Context | ((state: Readonly>) => Readonly<{ type: string; payload?: object; source?: string; target?: string; }>)): void; navigate(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: { merge?: boolean; pop?: boolean; } | undefined] : never): void; navigate(options: RouteName extends unknown ? { name: RouteName; params: object | undefined; path?: string; merge?: boolean; pop?: boolean; } : never): void; navigateDeprecated(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void; navigateDeprecated(options: RouteName extends unknown ? { name: RouteName; params: object | undefined; merge?: boolean; } : never): void; preload(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void; reset(state: TabNavigationState | import("@react-navigation/native").PartialState>): void; goBack(): void; isFocused(): boolean; canGoBack(): boolean; getId(): string | undefined; getParent | undefined>(id?: string): T; getState(): TabNavigationState; } & import("@react-navigation/native").PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & { getParent[]; type: string; stale: false; }>, {}, {}> | undefined>(id?: string | undefined): T; setOptions(options: Partial): void; } & { setParams(params: Partial): void; replaceParams(params: object | undefined): void; } & import("@react-navigation/native").EventConsumer>> & import("@react-navigation/native").PrivateValueStore<[ParamListBase, string, TabNavigationEventMap]> & TabActionHelpers, import("@react-navigation/native").RouteProp>>>; /** * @hidden */ export declare const TabsNavigatorContext: import("react").Context<({ dispatch(action: Readonly<{ type: string; payload?: object; source?: string; target?: string; }> | ((state: Readonly[]; type: string; stale: false; }>>) => Readonly<{ type: string; payload?: object; source?: string; target?: string; }>)): void; navigate(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: { merge?: boolean; pop?: boolean; } | undefined] : never): void; navigate(options: RouteName extends unknown ? { name: RouteName; params: object | undefined; path?: string; merge?: boolean; pop?: boolean; } : never): void; navigateDeprecated(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void; navigateDeprecated(options: RouteName extends unknown ? { name: RouteName; params: object | undefined; merge?: boolean; } : never): void; preload(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void; reset(state: Readonly<{ key: string; index: number; routeNames: string[]; history?: unknown[]; routes: import("@react-navigation/native").NavigationRoute[]; type: string; stale: false; }> | import("@react-navigation/native").PartialState[]; type: string; stale: false; }>>): void; goBack(): void; isFocused(): boolean; canGoBack(): boolean; getId(): string | undefined; getParent | undefined>(id?: string): T; getState(): Readonly<{ key: string; index: number; routeNames: string[]; history?: unknown[]; routes: import("@react-navigation/native").NavigationRoute[]; type: string; stale: false; }>; } & import("@react-navigation/native").PrivateValueStore<[ParamListBase, unknown, unknown]> & import("@react-navigation/native").EventEmitter & { setParams(params: Partial): void; replaceParams(params: object | undefined): void; } & TabActionHelpers) | null>; /** * @hidden */ export declare const TabsStateContext: import("react").Context>; export type Route = TabNavigationState['routes'][number]; export type TabsDescriptor = TabsContextValue['descriptors'][number]; //# sourceMappingURL=TabContext.d.ts.map