import { OriginInfo } from '../analytics/OriginInfo'; import { ExternalPaymentsNamespace } from './../payment/models'; import InternalPaymentUiConfig = ExternalPaymentsNamespace.InternalPaymentUiConfig; import TRANSACTION_TYPE = ExternalPaymentsNamespace.TRANSACTION_TYPE; import PAYMENT_MODE = ExternalPaymentsNamespace.PAYMENT_MODE; import Contact = ExternalPaymentsNamespace.Contact; import MicroPayRequest = ExternalPaymentsNamespace.MicroPayRequest; import AddToWalletUiContext = ExternalPaymentsNamespace.AddToWalletUiContext; import MandateConfig = ExternalPaymentsNamespace.MandateConfig; import MandateUiConfig = ExternalPaymentsNamespace.MandateUiConfig; import { ContactNameSpace } from '../contact/model'; import CONTACT_PICKER_MODE = ContactNameSpace.CONTACT_PICKER_MODE; import CONTACT_PICKER_TYPE = ContactNameSpace.CONTACT_PICKER_TYPE; export declare enum NavigationScreenType { WebView = "WebView", ReactView = "ReactView", PaymentsView = "PaymentView", GenericPaymentsView = "GenericPaymentsView", AppScreen = "AppScreen", ContactPicker = "ContactPicker", TransactionDetail = "TransactionDetail", Profile = "Profile", HelpPage = "HelpPage", MandateSetup = "MandateSetup", AddToWallet = "AddToWallet", MicroApp = "MicroApp", PWAWebView = "PWAWebView", } export declare abstract class BaseNavigationRequest { screenType: NavigationScreenType; title: string; animated: boolean; showModally: boolean; isNewTask: boolean; constructor(screenType: NavigationScreenType, title: string, animated: boolean, showModally: boolean); } export declare class ReactViewNavigationRequest extends BaseNavigationRequest { appId: string; appUniqueId: string; bundleName: string; componentName: string; shouldShowToolbar: number; toolBarText: string; initialProperties: { [key: string]: string; }; category: string; merchantId: string; merchantName: string; tAndCUrl: string; constructor(bundleName: string, componentName: string, showToolbar: number, title: string, animated: boolean, showModally: boolean, initialProperties: { [key: string]: string; }, category: string, merchantId: string, merchantName: string, tAndCUrl: string, appId: string, appUniqueId: string); } export declare class WebViewNavigationRequest extends BaseNavigationRequest { url: string; shouldShowToolBar: number; shouldShowBackButton: boolean; screenName: string; shouldAllowWebViewBack: boolean; shouldShowProgressWhileLoading: boolean; constructor(url: string, title: string, shouldShowToolBar: number, shouldShowBackButton: boolean, screenName: string, shouldAllowWebViewBack: boolean, shouldShowProgressWhileLoading: boolean, animated: boolean, showModally: boolean); } export declare class PWAWebViewNavigationRequest extends BaseNavigationRequest { merchantId: string; deepLinkUrl: string; appId: string; appUniqueId: string; constructor(merchantId: string, deepLinkUrl: string, appId: string, appUniqueId: string); } export declare class AppScreenNavigationRequest extends BaseNavigationRequest { screenName: string; url: string; params: { [key: string]: string; }; constructor(screenName: string, url: string, params: { [key: string]: string; }, title: string, animated: boolean, showModally: boolean); } export declare class PaymentMetaData { details?: [{ [key: string]: string; }]; constructor(details?: [{ [p: string]: string; }]); } export declare class PaymentNavigationRequest extends BaseNavigationRequest { mode: PAYMENT_MODE; microPayRequest: MicroPayRequest; internalPaymentUiConfig: InternalPaymentUiConfig; transactionType: TRANSACTION_TYPE; originInfo?: OriginInfo; metaData?: PaymentMetaData; constructor(_screenName: string, title: string, animated: boolean, showModally: boolean, mode: PAYMENT_MODE, payRequest: MicroPayRequest, uiConfig: InternalPaymentUiConfig, transactionType: TRANSACTION_TYPE, metaData: PaymentMetaData, originInfo?: OriginInfo); } export declare class GenericPaymentNavigationRequest extends BaseNavigationRequest { reservationId: string; fallbackUrl: string; constructor(title: string, animated: boolean, showModally: boolean, reservationId: string, fallbackUrl?: string); } export declare class MandateSetupNavigationRequest extends BaseNavigationRequest { mandateContext: MandateConfig; mandateUiConfig: MandateUiConfig; mandateType: string; constructor(mandateContext: any, mandateUiConfig: any, title: string, animated: boolean, showModally: boolean, mandateType?: string); } export declare class AddToWalletNavigationRequest extends BaseNavigationRequest { addToWalletUiContext: AddToWalletUiContext; constructor(addToWalletUiContext: AddToWalletUiContext, title: string, animated: boolean, showModally: boolean); } export declare class TransactionDetailsNavigationRequest extends BaseNavigationRequest { transactionId: string; transactionType: TRANSACTION_TYPE; info: OriginInfo; constructor(_screenName: string, title: string, animated: boolean, showModally: boolean, transactionId: string, transactionType: TRANSACTION_TYPE, originInfo: OriginInfo); } export declare class ContactNavigationRequest extends BaseNavigationRequest { contactPickerMode: CONTACT_PICKER_MODE; contactPickerType: CONTACT_PICKER_TYPE; initialContacts: Contact[]; transactionType: TRANSACTION_TYPE; originInfo?: OriginInfo; isVpaEnable: boolean; isSelfEnable: boolean; phoneContact: boolean; vpaContact: boolean; accountContact: boolean; constructor(_screenName: string, title: string, animated: boolean, showModally: boolean, contactPickerMode: CONTACT_PICKER_MODE, contactPickerType: CONTACT_PICKER_TYPE, initialContacts: Contact[], transactionType: TRANSACTION_TYPE, isVpaEnable: boolean, isSelfEnable: boolean, phoneContact: boolean, vpaContact: boolean, accountContact: boolean, _originInfo?: OriginInfo); } export declare class ProfileNavRequest extends BaseNavigationRequest { constructor(screenType: NavigationScreenType, title: string, animated: boolean, showModally: boolean); } export declare class HelpPageNavRequest extends BaseNavigationRequest { transactionId: string; screen: string; url: string; shouldShowToolBar: boolean; shouldAllowWebViewBack: boolean; freshBotIntentData: FreshBotIntentData; constructor(transactionId: string, title: string, animated: boolean, showModally: boolean, shouldShowToolBar: boolean, shouldAllowWebViewBack: boolean, screen: string, url: string, freshBotIntentData: FreshBotIntentData); } export declare class FreshBotIntentData { queryParams: { [key: string]: string; }; freshBotScreens: string; constructor(freshBotScreens: string); } export declare class CloseAppNavRequest { appIdentifier: string; constructor(appIdentifier: string); } export declare class MicroAppNavigationRequest extends BaseNavigationRequest { appId: string; appUniqueId: string; initialProperties: { [key: string]: string; } | undefined; constructor(appId: string, appUniqueId: string, initialProperties: { [key: string]: string; } | undefined, title: string, animated: boolean, showModally: boolean); }