@class NSDictionary, UIViewController, SUUIScrollingTabBarController, _SUUIApplicationShutdownHelper, NSMutableArray, SUUIModalDocumentController, NSString, SUUITabBarController, SUUIMetricsController, SUUIApplicationControllerOptions, SUUIConfigurationPreloader, NSArray, SUUIPreviewDocumentController, SUUIClientContext, SUUISimpleContainerViewController, SUUIAppDeviceConfig, IKAppContext, SUUIURLResolver, NSOperationQueue, SUUIURL, NSURL, SUUINavigationDocumentController; @protocol SUUIStatusOverlayProvider, SUUIApplicationDelegate, IKAppDataStoring; @interface SUUIApplicationController : NSObject { SUUIURL *_activationURL; NSURL *_applicationScriptURL; Class _clientContextClass; SUUIAppDeviceConfig *_deviceConfig; BOOL _didDisplayFirstPage; UIViewController *_floatingStatusOverlayViewController; BOOL _ignoreDidBecomeActive; long long _lastNavigationControllerOperation; UIViewController *_lastPoppedViewController; unsigned long long _indexOfLastTabNeedingContent; NSDictionary *_launchOptions; SUUIURL *_legacyLaunchURL; id _localStorage; SUUIMetricsController *_metricsController; SUUISimpleContainerViewController *_navigationContainerViewController; NSMutableArray *_navigationDocumentControllers; NSOperationQueue *_operationQueue; BOOL _reloadApplicationOnForegroundNotification; unsigned long long _resignActiveTaskID; IKAppContext *_scriptContext; long long _scriptLoadState; id _statusOverlayProvider; _SUUIApplicationShutdownHelper *_shutdownHelper; BOOL _stopApplicationOnBackgroundNotification; SUUINavigationDocumentController *_transientNavigationDocument; SUUIURLResolver *_urlResolver; id _vendorStorage; NSMutableArray *_whenLoadedBlocks; } @property (class, readonly, nonatomic) SUUIConfigurationPreloader *configurationPreloader; @property (readonly, nonatomic) long long _applicationMode; @property (nonatomic, setter=_setHidesTabBar:) BOOL _hidesTabBar; @property (readonly, nonatomic) NSArray *_navigationControllers; @property (readonly, nonatomic) SUUIPreviewDocumentController *_previewOverlayDocumentController; @property (nonatomic, setter=_setSelectedTabBarIndex:) long long _selectedTabBarIndex; @property (readonly, nonatomic) SUUINavigationDocumentController *_transientNavigationController; @property (weak, nonatomic) id delegate; @property (readonly, nonatomic) SUUIClientContext *clientContext; @property (nonatomic) BOOL mescalPrimeEnabledForXHRRequests; @property (readonly, nonatomic) SUUIModalDocumentController *modalDocumentController; @property (readonly, nonatomic) SUUIApplicationControllerOptions *options; @property (readonly, nonatomic) UIViewController *rootViewController; @property (readonly, nonatomic) SUUIScrollingTabBarController *scrollingTabBarController; @property (readonly, nonatomic) SUUITabBarController *tabBarController; @property (copy, nonatomic) NSArray *tabBarItems; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)_referrerAppForSourceApplication:(id)a0 launchURL:(id *)a1; + (id)applicationOptionsWithLaunchOptions:(id)a0; + (void)finishedWithConfigurationPreloader; + (void)prepareForLaunch; - (void)applicationDidBecomeActive:(id)a0; - (id)activeDocument; - (void)_applicationWillEnterForeground:(id)a0; - (id)appIdentifier; - (void)applicationWillResignActive:(id)a0; - (void)_failWithError:(id)a0; - (id)init; - (void)dealloc; - (void)_applicationDidEnterBackground:(id)a0; - (void)navigationController:(id)a0 willShowViewController:(id)a1 animated:(BOOL)a2; - (void)navigationController:(id)a0 didShowViewController:(id)a1 animated:(BOOL)a2; - (void).cxx_destruct; - (void)setClientContext:(id)a0; - (id)vendorIdentifier; - (id)_operationQueue; - (id)_tabBarController; - (unsigned long long)navigationControllerSupportedInterfaceOrientations:(id)a0; - (void)tabBarController:(id)a0 didEndCustomizingViewControllers:(id)a1 changed:(BOOL)a2; - (void)tabBarController:(id)a0 didSelectViewController:(id)a1; - (BOOL)tabBarController:(id)a0 shouldSelectViewController:(id)a1; - (unsigned long long)tabBarControllerSupportedInterfaceOrientations:(id)a0; - (id)localStorage; - (BOOL)_playPreviewForPreviewTemplate:(id)a0; - (void)appContext:(id)a0 didCompletePurchase:(id)a1; - (id)appLaunchParams; - (id)navigationControllerForContext:(id)a0; - (void)showErrorViewWithTitle:(id)a0 message:(id)a1; - (void)updateTabBarWithItems:(id)a0 animated:(BOOL)a1; - (void)_reloadTabBarWithClientContext:(id)a0; - (Class)_scrollingTabBarControllerClass; - (void)appContext:(id)a0 didStartWithOptions:(id)a1; - (BOOL)appJSURLTrusted; - (void)loadApplication; - (void)URLResolver:(id)a0 didFinishWithResult:(BOOL)a1; - (BOOL)URLResolver:(id)a0 shouldPerformDefaultActionForURL:(id)a1; - (void)URLResolver:(id)a0 showTransientViewController:(id)a1; - (void)URLResolver:(id)a0 showURL:(id)a1 withTabIdentifier:(id)a2; - (Class)_JSITunesStoreClass; - (id)_activeNavigationController; - (void)_attemptAMSURLHandlingIfPossibleForExternalURL:(id)a0 fallback:(id /* block */)a1; - (void)_dispatchTabBarOnNeedsContentForTabAtIndex:(unsigned long long)a0; - (void)_dispatchTabBarOnSelect; - (id)_documentControllerForNavigationController:(id)a0; - (void)_ensureStackConsistencyForNavigationController:(id)a0; - (id)_existingTabBarController; - (void)_failReloadWithError:(id)a0; - (void)_finishWillResignActiveWithDialogState:(BOOL)a0; - (void)_fireBlocksAfterLoad; - (void)_handleScriptUnavailable; - (void)_invalidateApplication; - (BOOL)_isDisplayingAccountViewController; - (BOOL)_isStoreFront:(id)a0 equalToStoreFront:(id)a1; - (void)_jsLaunchFinishedWithLaunchMetrics:(id)a0; - (id)_launchOptionsWithURL:(id)a0; - (void)_legacyResolveExternalURL:(id)a0; - (void)_loadApplicationScript; - (id)_navigationContainerViewController; - (BOOL)_needsStatusOverlay; - (id)_newNavigationControllerWithTabBarItem:(id)a0; - (id)_overlayNavigationControllerForViewController:(id)a0; - (void)_pageDidDisplayNotification:(id)a0; - (void)_previewDocumentIsActiveChangeNotification:(id)a0; - (void)_recordTabBarMetricsEventToSelectViewController:(id)a0; - (void)_reloadAfterNetworkChange:(id)a0; - (void)_reloadApplication; - (void)_reloadRootViewControllers; - (void)_removeObserversForReloadNotifications; - (void)_removeStatusOverlayFromAllNavigationControllers; - (void)_resetDocumentControllers; - (void)_resetUserInteraceForAccountViewDisappear:(id)a0; - (void)_resetUserInterfaceAfterStoreFrontChange; - (void)_retryAfterFailure; - (id)_rootDocuments; - (void)_sendClientContextDidChange; - (void)_sendDidDisplayFirstPageIfNecessary; - (BOOL)_sendNativeBackButtonMetricEvents; - (void)_setClientContextWithDictionary:(id)a0; - (BOOL)_shouldUseLegacyURLHandlingForExternalURL:(id)a0; - (void)_showFloatingStatusOverlayAnimated:(BOOL)a0; - (void)_showStatusOverlayForNavigationController:(id)a0 viewController:(id)a1 animated:(BOOL)a2; - (void)_startScriptContextWithURL:(id)a0; - (id)_statusOverlayProviderForViewController:(id)a0; - (void)_stopApplication; - (void)_stopScriptContextForReload; - (void)_storeFrontChangeNotification:(id)a0; - (Class)_tabBarControllerClass; - (void)_tintTabBarWithViewController:(id)a0; - (id)_transientNavigationDocument; - (void)_updateOverlayNavigationController:(id)a0; - (BOOL)_usesFloatingStatusOverlayForWidth:(double)a0; - (void)appContext:(id)a0 didCompleteSoftwarePurchase:(id)a1; - (void)appContext:(id)a0 didExitWithOptions:(id)a1; - (void)appContext:(id)a0 didFailWithError:(id)a1; - (void)appContext:(id)a0 didStopWithOptions:(id)a1; - (void)appContext:(id)a0 evaluateAppJavaScriptInContext:(id)a1; - (void)appContext:(id)a0 needsReloadWithUrgency:(unsigned long long)a1; - (void)appContext:(id)a0 needsReloadWithUrgency:(unsigned long long)a1 options:(id)a2; - (void)appContext:(id)a0 setPreviewOverlayDocument:(id)a1 withOptions:(id)a2; - (void)appContextNeedsRestart:(id)a0; - (BOOL)appIsTrusted; - (id)appJSURL; - (void)application:(id)a0 didReceiveURL:(id)a1; - (id)deviceConfigForContext:(id)a0; - (void)evaluateBlockWhenLoaded:(id /* block */)a0; - (void)getModalSourceViewForElementIdentifier:(id)a0 completionBlock:(id /* block */)a1; - (void)hideStatusOverlayForProvider:(id)a0 animated:(BOOL)a1; - (id)initWithClientContextClass:(Class)a0; - (id)initWithClientContextClass:(Class)a0 options:(id)a1; - (id)initWithClientContextClass:(Class)a0 tabBarControllerStyle:(long long)a1; - (id)jsNavigationDocumentForNavigationController:(id)a0 inContext:(id)a1; - (id)jsNavigationDocumentForNavigationDocumentController:(id)a0 inContext:(id)a1; - (void)loadApplicationWithOptions:(id)a0; - (long long)modalDocumentController:(id)a0 barStyleForStackItem:(id)a1; - (void)modalDocumentControllerDidFinish:(id)a0; - (void)navigationDocumentController:(id)a0 requestsAccessToAppContextUsingBlock:(id /* block */)a1; - (void)navigationDocumentStackDidChange:(id)a0; - (id)presentationViewControllerForAppContext:(id)a0; - (id)presentationViewControllerForURLResolver:(id)a0; - (void)recordMetricsEvent:(id)a0 flushImmediately:(BOOL)a1; - (void)resumeApplicationWithOptions:(id)a0; - (id)selectTabWithIdentifier:(id)a0; - (void)setUserInterfaceOverrideOnTabBarController:(id)a0 forViewController:(id)a1; - (BOOL)shouldIgnoreJSValidation; - (void)showErrorViewForLaunchFailure; - (void)showErrorViewWithTitle:(id)a0 message:(id)a1 buttonTitle:(id)a2 buttonAction:(id /* block */)a3; - (void)showExternalURL:(id)a0; - (void)showStatusOverlayUsingProvider:(id)a0 animated:(BOOL)a1; - (void)showTransientViewController:(id)a0; - (struct CGSize { double x0; double x1; })sizeForNavigationDocument:(id)a0; - (void)suspendApplicationWithOptions:(id)a0; - (void)tabBarController:(id)a0 didReselectViewController:(id)a1; - (BOOL)tabBarController:(id)a0 shouldFallbackToRootForController:(id)a1; - (void)tabBarController:(id)a0 willDisplayViewController:(id)a1; - (void)tabBarController:(id)a0 willTransitionToSize:(struct CGSize { double x0; double x1; })a1 withTransitionCoordinator:(id)a2; - (void)updateTabBarWithItems:(id)a0 animated:(BOOL)a1 completion:(id /* block */)a2; - (id)vendorStorage; @end