expo-router
Version:
Expo Router is a file-based router for React Native and web applications.
167 lines • 18.3 kB
TypeScript
import { BottomTabNavigationEventMap, BottomTabNavigationOptions } from '@react-navigation/bottom-tabs';
import { ParamListBase, TabNavigationState } from '@react-navigation/native';
import React, { ComponentProps } from 'react';
import { Href } from '../types';
import { Protected } from '../views/Protected';
declare const BottomTabNavigator: React.ComponentType<Omit<import("-navigation/bottom-tabs").BottomTabNavigatorProps, "children" | "layout" | "initialRouteName" | "id" | "screenListeners" | "screenOptions" | "screenLayout" | "UNSTABLE_router"> & import("-navigation/native").DefaultRouterOptions<string> & {
children: React.ReactNode;
layout?: ((props: {
state: TabNavigationState<ParamListBase>;
navigation: import("-navigation/native").NavigationHelpers<ParamListBase, {}>;
descriptors: Record<string, import("-navigation/native").Descriptor<BottomTabNavigationOptions, import("-navigation/native").NavigationProp<ParamListBase, string, string | undefined, TabNavigationState<ParamListBase>, BottomTabNavigationOptions, BottomTabNavigationEventMap>, import("-navigation/native").RouteProp<ParamListBase, string>>>;
children: React.ReactNode;
}) => React.ReactElement) | undefined;
screenListeners?: Partial<{
tabPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabPress", true>;
tabLongPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabLongPress", unknown>;
transitionStart: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionStart", unknown>;
transitionEnd: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionEnd", unknown>;
focus: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "focus", unknown>;
blur: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "blur", unknown>;
state: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "state", unknown>;
beforeRemove: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "beforeRemove", true>;
}> | ((props: {
route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("@react-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
}) => Partial<{
tabPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabPress", true>;
tabLongPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabLongPress", unknown>;
transitionStart: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionStart", unknown>;
transitionEnd: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionEnd", unknown>;
focus: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "focus", unknown>;
blur: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "blur", unknown>;
state: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "state", unknown>;
beforeRemove: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "beforeRemove", true>;
}>) | undefined;
screenOptions?: BottomTabNavigationOptions | ((props: {
route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("@react-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
theme: ReactNavigation.Theme;
}) => BottomTabNavigationOptions) | undefined;
screenLayout?: ((props: {
route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("@react-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
theme: ReactNavigation.Theme;
children: React.ReactElement;
}) => React.ReactElement) | undefined;
UNSTABLE_router?: (<Action extends Readonly<{
type: string;
payload?: object;
source?: string;
target?: string;
}>>(original: import("@react-navigation/native").Router<TabNavigationState<ParamListBase>, Action>) => Partial<import("-navigation/native").Router<TabNavigationState<ParamListBase>, Action>>) | undefined;
} & {
id?: undefined;
}>;
export type BottomTabNavigator = typeof BottomTabNavigator;
type TabsProps = BottomTabNavigationOptions & {
href?: Href | null;
};
declare const ExpoTabs: React.ForwardRefExoticComponent<Omit<Omit<import("-navigation/bottom-tabs").BottomTabNavigatorProps, "children" | "layout" | "initialRouteName" | "id" | "screenListeners" | "screenOptions" | "screenLayout" | "UNSTABLE_router"> & import("-navigation/native").DefaultRouterOptions<string> & {
children: React.ReactNode;
layout?: ((props: {
state: TabNavigationState<ParamListBase>;
navigation: import("-navigation/native").NavigationHelpers<ParamListBase, {}>;
descriptors: Record<string, import("-navigation/native").Descriptor<BottomTabNavigationOptions, import("-navigation/native").NavigationProp<ParamListBase, string, string | undefined, TabNavigationState<ParamListBase>, BottomTabNavigationOptions, BottomTabNavigationEventMap>, import("-navigation/native").RouteProp<ParamListBase, string>>>;
children: React.ReactNode;
}) => React.ReactElement) | undefined;
screenListeners?: Partial<{
tabPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabPress", true>;
tabLongPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabLongPress", unknown>;
transitionStart: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionStart", unknown>;
transitionEnd: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionEnd", unknown>;
focus: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "focus", unknown>;
blur: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "blur", unknown>;
state: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "state", unknown>;
beforeRemove: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "beforeRemove", true>;
}> | ((props: {
route: import("-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
}) => Partial<{
tabPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabPress", true>;
tabLongPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabLongPress", unknown>;
transitionStart: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionStart", unknown>;
transitionEnd: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionEnd", unknown>;
focus: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "focus", unknown>;
blur: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "blur", unknown>;
state: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "state", unknown>;
beforeRemove: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "beforeRemove", true>;
}>) | undefined;
screenOptions?: BottomTabNavigationOptions | ((props: {
route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("@react-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
theme: ReactNavigation.Theme;
}) => BottomTabNavigationOptions) | undefined;
screenLayout?: ((props: {
route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("@react-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
theme: ReactNavigation.Theme;
children: React.ReactElement;
}) => React.ReactElement) | undefined;
UNSTABLE_router?: (<Action extends Readonly<{
type: string;
payload?: object;
source?: string;
target?: string;
}>>(original: import("@react-navigation/native").Router<TabNavigationState<ParamListBase>, Action>) => Partial<import("-navigation/native").Router<TabNavigationState<ParamListBase>, Action>>) | undefined;
} & {
id?: undefined;
}, "children"> & Partial<Pick<Omit<import("-navigation/bottom-tabs").BottomTabNavigatorProps, "children" | "layout" | "initialRouteName" | "id" | "screenListeners" | "screenOptions" | "screenLayout" | "UNSTABLE_router"> & import("-navigation/native").DefaultRouterOptions<string> & {
children: React.ReactNode;
layout?: ((props: {
state: TabNavigationState<ParamListBase>;
navigation: import("-navigation/native").NavigationHelpers<ParamListBase, {}>;
descriptors: Record<string, import("-navigation/native").Descriptor<BottomTabNavigationOptions, import("-navigation/native").NavigationProp<ParamListBase, string, string | undefined, TabNavigationState<ParamListBase>, BottomTabNavigationOptions, BottomTabNavigationEventMap>, import("-navigation/native").RouteProp<ParamListBase, string>>>;
children: React.ReactNode;
}) => React.ReactElement) | undefined;
screenListeners?: Partial<{
tabPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabPress", true>;
tabLongPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabLongPress", unknown>;
transitionStart: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionStart", unknown>;
transitionEnd: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionEnd", unknown>;
focus: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "focus", unknown>;
blur: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "blur", unknown>;
state: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "state", unknown>;
beforeRemove: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "beforeRemove", true>;
}> | ((props: {
route: import("-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
}) => Partial<{
tabPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabPress", true>;
tabLongPress: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "tabLongPress", unknown>;
transitionStart: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionStart", unknown>;
transitionEnd: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "transitionEnd", unknown>;
focus: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "focus", unknown>;
blur: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "blur", unknown>;
state: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "state", unknown>;
beforeRemove: import("-navigation/native").EventListenerCallback<BottomTabNavigationEventMap & import("-navigation/native").EventMapCore<TabNavigationState<ParamListBase>>, "beforeRemove", true>;
}>) | undefined;
screenOptions?: BottomTabNavigationOptions | ((props: {
route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("@react-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
theme: ReactNavigation.Theme;
}) => BottomTabNavigationOptions) | undefined;
screenLayout?: ((props: {
route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
navigation: import("@react-navigation/bottom-tabs").BottomTabNavigationProp<ParamListBase, string, undefined>;
theme: ReactNavigation.Theme;
children: React.ReactElement;
}) => React.ReactElement) | undefined;
UNSTABLE_router?: (<Action extends Readonly<{
type: string;
payload?: object;
source?: string;
target?: string;
}>>(original: import("@react-navigation/native").Router<TabNavigationState<ParamListBase>, Action>) => Partial<import("-navigation/native").Router<TabNavigationState<ParamListBase>, Action>>) | undefined;
} & {
id?: undefined;
}, "children">> & React.RefAttributes<unknown>> & {
Screen: (props: import("..").ScreenProps<TabsProps, TabNavigationState<ParamListBase>, BottomTabNavigationEventMap>) => null;
Protected: typeof Protected;
};
declare const Tabs: ((props: ComponentProps<typeof ExpoTabs>) => React.JSX.Element) & {
Screen: (props: import("..").ScreenProps<TabsProps, TabNavigationState<ParamListBase>, BottomTabNavigationEventMap>) => null;
Protected: React.FunctionComponent<import("../views/Protected").ProtectedProps>;
};
export default Tabs;
//# sourceMappingURL=TabsClient.d.ts.map