11import type { NavigatorScreenParams } from '@react-navigation/native' ;
2- import type { AssetViewParams } from '../../../Views/Asset/Asset.types' ;
2+ import type {
3+ AssetLoaderParams ,
4+ AssetViewParams ,
5+ } from '../../../Views/Asset/Asset.types' ;
36import type { TokenDetailsRouteParams } from '../../../UI/TokenDetails/constants/constants' ;
47import type {
58 CreatePriceAlertRouteParams ,
@@ -10,14 +13,24 @@ import type { NetworkDetailsViewParams } from '../../../Views/NetworksManagement
1013import type { ContactFormParams } from '../../../Views/Settings/Contacts/ContactForm.types' ;
1114import type { NotificationSettingsSectionProps } from '../../../Views/Settings/NotificationsSettings/NotificationSettingsSection' ;
1215import type { RegionSelectorParams } from '../../../Views/Modals/Modals.types' ;
13- import type {
14- ManualBackupStep1Params ,
15- ManualBackupStep2Params ,
16- } from '../../../Views/ManualBackupStep1/ManualBackupStep1.types' ;
1716import type {
1817 AccountBackupParams ,
1918 ManualBackupStep3Params ,
2019} from '../../../Views/AccountBackup/AccountBackup.types' ;
20+ import type {
21+ ManualBackupStep1Params ,
22+ ManualBackupStep2Params ,
23+ } from '../../../Views/ManualBackupStep1/ManualBackupStep1.types' ;
24+ import type { BrowserParams } from '../../../Views/Browser/Browser.types' ;
25+ import type { SimpleWebviewParams } from '../../../Views/Webview/Webview.types' ;
26+ import type { ExploreFeedRouteParams } from '../../../Views/TrendingView/TrendingView' ;
27+ import type { ChoosePasswordRouteParams } from '../../../Views/ChoosePassword/ChoosePassword.types' ;
28+ import type { OptinMetricsRouteParams } from '../../../UI/OptinMetrics/OptinMetrics.types' ;
29+ import type { QRTabSwitcherParams } from '../../../Views/QRTabSwitcher/QRTabSwitcher' ;
30+ import type { TransactionsViewParams } from '../../../Views/TransactionsView/TransactionsView.types' ;
31+ import type { RampOrderDetailsParams } from '../../../UI/Ramp/Aggregator/types/navigation' ;
32+ import type { RampNavigationParamList } from '../../../UI/Ramp/types/navigation' ;
33+ import type { BridgeTransactionDetailsParams } from '../../../UI/Bridge/Bridge.types' ;
2134
2235/**
2336 * Param list for screens inside `AssetStackFlow` (token details + alerts).
@@ -95,3 +108,138 @@ export type SettingsStackParamList = {
95108 SettingsRegionSelector : RegionSelectorParams | undefined ;
96109 SnapsSettingsList : undefined ;
97110} ;
111+
112+ /**
113+ * Param list for screens inside `ExploreHome` (`TrendingView` tab).
114+ */
115+ // ParamListBase requires `type`; `interface` cannot satisfy it.
116+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
117+ export type TrendingViewStackParamList = {
118+ TrendingFeed : ExploreFeedRouteParams | undefined ;
119+ } ;
120+
121+ /**
122+ * Param list for screens inside `BrowserFlow` (`BrowserTabHome`).
123+ */
124+ // ParamListBase requires `type`; `interface` cannot satisfy it.
125+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
126+ export type BrowserTabHomeParamList = {
127+ BrowserView : BrowserParams | undefined ;
128+ AssetLoader : AssetLoaderParams | undefined ;
129+ AssetView : AssetViewParams | undefined ;
130+ } ;
131+
132+ /**
133+ * Param list for screens inside the `Webview` stack.
134+ */
135+ // ParamListBase requires `type`; `interface` cannot satisfy it.
136+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
137+ export type WebviewStackParamList = {
138+ SimpleWebview : SimpleWebviewParams | undefined ;
139+ } ;
140+
141+ /**
142+ * Param list for screens inside `SetPasswordFlow`.
143+ */
144+ // ParamListBase requires `type`; `interface` cannot satisfy it.
145+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
146+ export type SetPasswordFlowParamList = {
147+ ChoosePassword : ChoosePasswordRouteParams | undefined ;
148+ AccountBackupStep1 : AccountBackupParams | undefined ;
149+ AccountBackupStep1B : AccountBackupParams | undefined ;
150+ ManualBackupStep1 : ManualBackupStep1Params | undefined ;
151+ ManualBackupStep2 : ManualBackupStep2Params | undefined ;
152+ ManualBackupStep3 : ManualBackupStep3Params ;
153+ OptinMetrics : OptinMetricsRouteParams | undefined ;
154+ } ;
155+
156+ /**
157+ * Param list for screens inside `ImportPrivateKeyView` (App root stack).
158+ */
159+ // ParamListBase requires `type`; `interface` cannot satisfy it.
160+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
161+ export type ImportPrivateKeyStackParamList = {
162+ ImportPrivateKey : undefined ;
163+ ImportPrivateKeySuccess : undefined ;
164+ QRTabSwitcher : QRTabSwitcherParams | undefined ;
165+ } ;
166+
167+ /**
168+ * Param list for screens inside `MoneyTabScreenStack` (Money tab under Home).
169+ */
170+ // ParamListBase requires `type`; `interface` cannot satisfy it.
171+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
172+ export type MoneyTabStackParamList = {
173+ MoneyHome : undefined ;
174+ MoneyActivity : undefined ;
175+ MoneyHowItWorks : undefined ;
176+ } ;
177+
178+ /**
179+ * Param list for screens inside `TransactionsHome` (Activity tab under Home).
180+ */
181+ // ParamListBase requires `type`; `interface` cannot satisfy it.
182+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
183+ export type TransactionsHomeParamList = {
184+ TransactionsView : TransactionsViewParams | undefined ;
185+ OrderDetails : RampOrderDetailsParams | undefined ;
186+ RampsOrderDetails : RampNavigationParamList [ 'RampsOrderDetails' ] ;
187+ DepositOrderDetails : undefined ;
188+ RampBankDetailsStandalone : RampNavigationParamList [ 'RampBankDetailsStandalone' ] ;
189+ SendTransaction : undefined ;
190+ BridgeTransactionDetails : BridgeTransactionDetailsParams | undefined ;
191+ } ;
192+
193+ /**
194+ * Param list for screens inside `RewardsHome` (Rewards tab under Home).
195+ */
196+ // ParamListBase requires `type`; `interface` cannot satisfy it.
197+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
198+ export type RewardsHomeParamList = {
199+ RewardsOnboardingFlow : undefined ;
200+ RewardsDashboard : undefined ;
201+ } ;
202+
203+ /**
204+ * Param list for tabs inside `HomeTabs` (`Home`).
205+ *
206+ * Trade tab reuses `WalletTabStackFlow` as a placeholder component under
207+ * `TradeWalletActions`; Money vs Activity tabs are mutually exclusive at runtime.
208+ */
209+ // ParamListBase requires `type`; `interface` cannot satisfy it.
210+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
211+ export type HomeTabsParamList = {
212+ WalletTabHome : NavigatorScreenParams < WalletTabHomeParamList > | undefined ;
213+ TrendingView : NavigatorScreenParams < TrendingViewStackParamList > | undefined ;
214+ BrowserTabHome : NavigatorScreenParams < BrowserTabHomeParamList > | undefined ;
215+ TradeWalletActions :
216+ | NavigatorScreenParams < WalletTabStackParamList >
217+ | undefined ;
218+ MoneyScreens : NavigatorScreenParams < MoneyTabStackParamList > | undefined ;
219+ TransactionsView :
220+ | NavigatorScreenParams < TransactionsHomeParamList >
221+ | undefined ;
222+ RewardsView : NavigatorScreenParams < RewardsHomeParamList > | undefined ;
223+ } ;
224+
225+ /**
226+ * Param list for `MainNavigator` (`ConnectedMain`).
227+ *
228+ * Phase 3 types the Home tab host used for nested deeplink / reset state.
229+ * Sibling MainNavigator screens remain typed flat on `RootStackParamList`.
230+ */
231+ // ParamListBase requires `type`; `interface` cannot satisfy it.
232+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
233+ export type MainStackParamList = {
234+ Home : NavigatorScreenParams < HomeTabsParamList > | undefined ;
235+ } ;
236+
237+ /**
238+ * Param list for `MainFlow` (`Routes.MAIN_FLOW` / `Main` on the root stack).
239+ */
240+ // ParamListBase requires `type`; `interface` cannot satisfy it.
241+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
242+ export type MainFlowParamList = {
243+ Main : NavigatorScreenParams < MainStackParamList > | undefined ;
244+ ReviewModal : undefined ;
245+ } ;
0 commit comments