@import UIKit; @import UserNotifications; @class WMFTheme; @class MWKDataStore; @class WMFTheme; @class ReadingList; NS_ASSUME_NONNULL_BEGIN extern NSString *const WMFLanguageVariantAlertsLibraryVersion; // NSNumber @interface WMFAppViewController : UITabBarController @property (nonatomic, readonly, nullable) UINavigationController *currentNavigationController; @property (nonatomic, readonly) WMFTheme *theme; @property (nonatomic, readonly) MWKDataStore *dataStore; - (void)launchAppInWindow:(UIWindow *)window waitToResumeApp:(BOOL)waitToResumeApp; - (void)showSplashView; - (void)hideSplashViewAnimated:(BOOL)animated; - (void)hideSplashScreenAndResumeApp; // Updates explore feed & other heavy network lifitng - (void)processShortcutItem:(UIApplicationShortcutItem *)item completion:(void (^)(BOOL))completion; - (BOOL)processUserActivity:(NSUserActivity *)activity animated:(BOOL)animated completion:(dispatch_block_t)done; - (void)performBackgroundFetchWithCompletion:(void (^)(UIBackgroundFetchResult))completion; - (void)performDatabaseHousekeepingWithCompletion:(void (^)(NSError *))completion; - (void)applyTheme:(WMFTheme *)theme; - (void)showSearchInCurrentNavigationController; - (void)showImportedReadingList:(ReadingList *)readingList; - (void)setRemoteNotificationRegistrationStatusWithDeviceToken: (nullable NSData *)deviceToken error: (nullable NSError *)error; /// Returning WMFArticleViewController (which is ArticleViewController in Swift) makes this not work from Swift - (void)swiftCompatibleShowArticleWithURL:(NSURL *)articleURL animated:(BOOL)animated completion:(nonnull dispatch_block_t)completion; @end // Methods exposed in header for use in WMFAppViewController+Extensions.swift @interface WMFAppViewController (SwiftInterfaces) - (void)dismissPresentedViewControllers; - (void)showSettingsAnimated:(BOOL)animated; - (void)logTappedSettingsFromExplore; @end NS_ASSUME_NONNULL_END