import { createNavigatorFactory, type DefaultNavigatorOptions, type NavigationListBase, type ParamListBase, type StackNavigationState, StackRouter, type TypedNavigator, useNavigationBuilder, } from '@react-navigation/core'; const StackNavigator = ( props: DefaultNavigatorOptions< ParamListBase, string | undefined, StackNavigationState, {}, {}, unknown > ) => { const { state, descriptors, render } = useNavigationBuilder( StackRouter, props ); return render(descriptors[state.routes[state.index].key].render()); }; export function createStackNavigator< ParamList extends ParamListBase, >(): TypedNavigator<{ ParamList: ParamList; NavigatorID: string | undefined; State: StackNavigationState; ScreenOptions: {}; EventMap: {}; NavigationList: NavigationListBase; Navigator: typeof StackNavigator; }> { return createNavigatorFactory(StackNavigator)(); }