text: //
  //     Generated by classdumpios 1.0.1 (64 bit) (iOS port by DreamDevLost)(Debug version compiled Sep 26 2020 13:48:20).
  //
  //  Copyright (C) 1997-2019 Steve Nygard.
  //
  
  #import <objc/NSObject.h>
  
  #import "NSUserActivityDelegate-Protocol.h"
  
  @class IMAVPlayer, MPCPlayerPath, MTCompositeManifest, MTPlaybackPositionController, MTPlayerManifest, MTUpNextManifest, NSMutableArray, NSMutableSet, NSString, NSTimer, NSURL, NSUserActivity;
  @protocol MTPlayerFailureDialogProxy, OS_dispatch_queue;
  
  @interface MTPlayerController : NSObject <NSUserActivityDelegate>
  {
      _Bool _hasReportedThisEpisode;	// 8 = 0x8
      _Bool _shouldFindSomethingToPlay;	// 9 = 0x9
      _Bool _playerManifestRestored;	// 10 = 0xa
      _Bool _isManifestRestorationOngoing;	// 11 = 0xb
      id <MTPlayerFailureDialogProxy> _dialogProxy;	// 16 = 0x10
      IMAVPlayer *_player;	// 24 = 0x18
      MPCPlayerPath *_playerPath;	// 32 = 0x20
      MTCompositeManifest *_compositeManifest;	// 40 = 0x28
      MTUpNextManifest *_upNextManifest;	// 48 = 0x30
      MTPlayerManifest *_userManifest;	// 56 = 0x38
      CDUnknownBlockType _platformSyncPlayheadChangeObserverBlock;	// 64 = 0x40
      NSString *_previousPlayingEpisodeUuid;	// 72 = 0x48
      double _lastPlaybackSaveTime;	// 80 = 0x50
      long long _metricsPlayStartTime;	// 88 = 0x58
      double _metricsPlayStartPosition;	// 96 = 0x60
      MTPlaybackPositionController *_playbackPositionController;	// 104 = 0x68
      double _lastPlaybackPositionSaveTime;	// 112 = 0x70
      NSUserActivity *_currentActivity;	// 120 = 0x78
      NSObject<OS_dispatch_queue> *_restorationQueue;	// 128 = 0x80
      NSMutableArray *_restorationCompletions;	// 136 = 0x88
      NSTimer *_setPlaybackQueueRequestTimeoutTimer;	// 144 = 0x90
      NSMutableSet *_recordedPlayEventsForCurrentItem;	// 152 = 0x98
      NSURL *_lastRecordedItemURL;	// 160 = 0xa0
  }
  
  + (void)setSharedInstance:(id)arg1;	// IMP=0x000000010013b4e0
  + (id)sharedInstance;	// IMP=0x000000010013b4d4
  + (_Bool)hasSharedInstance;	// IMP=0x000000010013b4c0
  - (void).cxx_destruct;	// IMP=0x00000001001449d0
  @property(retain, nonatomic) NSURL *lastRecordedItemURL; // @synthesize lastRecordedItemURL=_lastRecordedItemURL;
  @property(retain, nonatomic) NSMutableSet *recordedPlayEventsForCurrentItem; // @synthesize recordedPlayEventsForCurrentItem=_recordedPlayEventsForCurrentItem;
  @property(retain, nonatomic) NSTimer *setPlaybackQueueRequestTimeoutTimer; // @synthesize setPlaybackQueueRequestTimeoutTimer=_setPlaybackQueueRequestTimeoutTimer;
  @property(nonatomic) _Bool isManifestRestorationOngoing; // @synthesize isManifestRestorationOngoing=_isManifestRestorationOngoing;
  @property(retain, nonatomic) NSMutableArray *restorationCompletions; // @synthesize restorationCompletions=_restorationCompletions;
  @property(retain, nonatomic) NSObject<OS_dispatch_queue> *restorationQueue; // @synthesize restorationQueue=_restorationQueue;
  @property(nonatomic, getter=isPlayerManifestRestored) _Bool playerManifestRestored; // @synthesize playerManifestRestored=_playerManifestRestored;
  @property(nonatomic) _Bool shouldFindSomethingToPlay; // @synthesize shouldFindSomethingToPlay=_shouldFindSomethingToPlay;
  @property(retain, nonatomic) NSUserActivity *currentActivity; // @synthesize currentActivity=_currentActivity;
  @property(nonatomic) double lastPlaybackPositionSaveTime; // @synthesize lastPlaybackPositionSaveTime=_lastPlaybackPositionSaveTime;
  @property(retain, nonatomic) MTPlaybackPositionController *playbackPositionController; // @synthesize playbackPositionController=_playbackPositionController;
  @property(nonatomic) double metricsPlayStartPosition; // @synthesize metricsPlayStartPosition=_metricsPlayStartPosition;
  @property(nonatomic) long long metricsPlayStartTime; // @synthesize metricsPlayStartTime=_metricsPlayStartTime;
  @property(nonatomic) double lastPlaybackSaveTime; // @synthesize lastPlaybackSaveTime=_lastPlaybackSaveTime;
  @property(nonatomic) _Bool hasReportedThisEpisode; // @synthesize hasReportedThisEpisode=_hasReportedThisEpisode;
  @property(retain, nonatomic) NSString *previousPlayingEpisodeUuid; // @synthesize previousPlayingEpisodeUuid=_previousPlayingEpisodeUuid;
  @property(copy, nonatomic) CDUnknownBlockType platformSyncPlayheadChangeObserverBlock; // @synthesize platformSyncPlayheadChangeObserverBlock=_platformSyncPlayheadChangeObserverBlock;
  @property(retain, nonatomic) MTPlayerManifest *userManifest; // @synthesize userManifest=_userManifest;
  @property(retain, nonatomic) MTUpNextManifest *upNextManifest; // @synthesize upNextManifest=_upNextManifest;
  @property(retain, nonatomic) MTCompositeManifest *compositeManifest; // @synthesize compositeManifest=_compositeManifest;
  @property(retain, nonatomic) MPCPlayerPath *playerPath; // @synthesize playerPath=_playerPath;
  @property(retain, nonatomic) IMAVPlayer *player; // @synthesize player=_player;
  @property(nonatomic) __weak id <MTPlayerFailureDialogProxy> dialogProxy; // @synthesize dialogProxy=_dialogProxy;
  - (void)updateUPPEpisodeUuid:(id)arg1 bookmarkTime:(double)arg2;	// IMP=0x0000000100144748
  - (void)userActivity:(id)arg1 didReceiveInputStream:(id)arg2 outputStream:(id)arg3;	// IMP=0x00000001001446d0
  - (void)userActivityWillSave:(id)arg1;	// IMP=0x00000001001446cc
  - (void)userActivityWasContinued:(id)arg1;	// IMP=0x00000001001446c8
  - (void)recordMetricsEventForErrorLog:(id)arg1 withEpisode:(id)arg2;	// IMP=0x000000010014437c
  - (void)recordMetricsEventForAccessLog:(id)arg1 playerItem:(id)arg2 episode:(id)arg3;	// IMP=0x00000001001441c0
  - (void)recordMetricsForCurrentItem;	// IMP=0x0000000100143cdc
  - (void)recordMTPlayerMetricsForCurrentItem;	// IMP=0x00000001001437f4
  - (void)_sendMediaRemoteCommand:(unsigned int)arg1 toPlayer:(void *)arg2;	// IMP=0x00000001001436f0
  - (void)_performMediaRemoteCommand:(unsigned int)arg1;	// IMP=0x000000010014355c
  - (void *)_localPlayerPath;	// IMP=0x00000001001434dc
  - (id)_activityRestorationPath;	// IMP=0x0000000100143478
  - (id)_loadActivityForRestoration;	// IMP=0x0000000100143090
  - (void)_saveActivityForRestoration;	// IMP=0x0000000100142d48
  - (void)_currentActivityResignCurrent;	// IMP=0x0000000100142c98
  - (void)_currentActivityBecomeCurrent;	// IMP=0x0000000100142bb8
  - (void)_updateCurrentActivityForPlayState;	// IMP=0x0000000100142afc
  - (void)restoreFromUserActivity:(id)arg1 withManifest:(id)arg2 startPlayback:(_Bool)arg3 reason:(unsigned long long)arg4 interactive:(_Bool)arg5 completion:(CDUnknownBlockType)arg6;	// IMP=0x0000000100142670
  - (void)restoreFromUserActivity:(id)arg1 startPlayback:(_Bool)arg2 reason:(unsigned long long)arg3 interactive:(_Bool)arg4 completion:(CDUnknownBlockType)arg5;	// IMP=0x000000010014242c
  - (void)_restoreManifestIfNeededWithCompletion:(CDUnknownBlockType)arg1 useEmptyManifest:(_Bool)arg2;	// IMP=0x00000001001422b8
  - (void)_restoreDefaultManifestIfNeededWithCompletion:(CDUnknownBlockType)arg1;	// IMP=0x00000001001422a8
  - (void)_restoreEmptyManifestIfNeededWithCompletion:(CDUnknownBlockType)arg1;	// IMP=0x0000000100142298
  - (void)_invokeRestorationCompletions;	// IMP=0x0000000100141f40
  - (void)_onQueueRestorePlayerManifestWithCompletion:(CDUnknownBlockType)arg1;	// IMP=0x0000000100141974
  - (void)restorePlayerManifestWithCompletion:(CDUnknownBlockType)arg1;	// IMP=0x00000001001418ac
  - (void)clearPlayerManifestWithCompletion:(CDUnknownBlockType)arg1;	// IMP=0x0000000100141788
  - (id)_alertControllerForClearingOrKeepingUpNextWithRequest:(id)arg1;	// IMP=0x00000001001412a0
  - (void)_showGenericPromptToClearUpNextWithRequest:(id)arg1;	// IMP=0x0000000100141008
  - (_Bool)_promptToClearUpNextIfNeededForRequest:(id)arg1;	// IMP=0x0000000100140c20
  - (_Bool)_shouldOpenExternalItemForEpisode:(id)arg1;	// IMP=0x0000000100140ae4
  - (_Bool)_openExternalItemIfNeededForManifest:(id)arg1;	// IMP=0x0000000100140a6c
  - (long long)_validatePlaybackRequest:(id)arg1;	// IMP=0x000000010014043c
  - (id)_currentEpisodeForManifest:(id)arg1;	// IMP=0x00000001001401e4
  - (void)_setLocalPlaybackQueue:(id)arg1;	// IMP=0x000000010013f9c8
  - (void)_setPlaybackQueue:(id)arg1;	// IMP=0x000000010013f824
  - (void)playManifest:(id)arg1 reason:(unsigned long long)arg2;	// IMP=0x000000010013f790
  - (void)playManifest:(id)arg1 reason:(unsigned long long)arg2 interactive:(_Bool)arg3 presentationType:(unsigned long long)arg4 completion:(CDUnknownBlockType)arg5;	// IMP=0x000000010013f6b0
  - (void)setManifest:(id)arg1 startPlayback:(_Bool)arg2 forceLocal:(_Bool)arg3 reason:(unsigned long long)arg4 interactive:(_Bool)arg5 completion:(CDUnknownBlockType)arg6;	// IMP=0x000000010013f5d4
  - (void)playManifest:(id)arg1 reason:(unsigned long long)arg2 interactive:(_Bool)arg3 completion:(CDUnknownBlockType)arg4;	// IMP=0x000000010013f564
  - (void)setManifest:(id)arg1 startPlayback:(_Bool)arg2 reason:(unsigned long long)arg3 interactive:(_Bool)arg4 completion:(CDUnknownBlockType)arg5;	// IMP=0x000000010013f4f0
  - (void)setManifest:(id)arg1 reason:(unsigned long long)arg2 interactive:(_Bool)arg3 completion:(CDUnknownBlockType)arg4;	// IMP=0x000000010013f480
  - (void)setPlaybackQueue:(id)arg1;	// IMP=0x000000010013f2bc
  - (void)setManifest:(id)arg1 startPlayback:(_Bool)arg2 destination:(unsigned long long)arg3 context:(id)arg4 completion:(CDUnknownBlockType)arg5;	// IMP=0x000000010013f1a8
  - (void)setManifestAsDryRun:(id)arg1 reason:(unsigned long long)arg2 completion:(CDUnknownBlockType)arg3;	// IMP=0x000000010013f088
  - (void)setManifest:(id)arg1 startPlayback:(_Bool)arg2 forceLocal:(_Bool)arg3 context:(id)arg4 completion:(CDUnknownBlockType)arg5;	// IMP=0x000000010013ef74
  - (void)setManifest:(id)arg1 startPlayback:(_Bool)arg2 context:(id)arg3 completion:(CDUnknownBlockType)arg4;	// IMP=0x000000010013eef4
  - (void)setManifest:(id)arg1 context:(id)arg2 completion:(CDUnknownBlockType)arg3;	// IMP=0x000000010013ee84
  - (void)playManifest:(id)arg1 context:(id)arg2 completion:(CDUnknownBlockType)arg3;	// IMP=0x000000010013ee14
  - (void)dismissNowPlayingAnimated:(_Bool)arg1 completion:(CDUnknownBlockType)arg2;	// IMP=0x000000010013ee10
  - (void)dismissNowPlayingAnimated:(_Bool)arg1;	// IMP=0x000000010013ee00
  - (void)presentNowPlayingAnimated:(_Bool)arg1;	// IMP=0x000000010013ed68
  - (_Bool)isPlayingEpisodeUuid:(id)arg1;	// IMP=0x000000010013ecec
  - (id)playingEpisodeUuid;	// IMP=0x000000010013ec98
  - (id)currentItem;	// IMP=0x000000010013ec44
  - (_Bool)isPlayerTargetLocal;	// IMP=0x000000010013ebc0
  - (void)setPlayerRoute:(id)arg1;	// IMP=0x000000010013ebbc
  - (void)resolveActivePlayerPathWithCompletion:(CDUnknownBlockType)arg1;	// IMP=0x000000010013e9bc
  - (_Bool)isSeekingOrScrubbing;	// IMP=0x000000010013e970
  @property(nonatomic) double currentTime;
  - (_Bool)isTargetPlaying;	// IMP=0x000000010013e8c0
  - (_Bool)isPlayingLocally;	// IMP=0x000000010013e874
  - (void)playPlayerTarget;	// IMP=0x000000010013e820
  - (void)playLocalPlayer;	// IMP=0x000000010013e7e0
  - (void)pausePlayerTarget;	// IMP=0x000000010013e78c
  - (void)pauseLocalPlayer;	// IMP=0x000000010013e74c
  - (void)playItemAtIndex:(unsigned long long)arg1;	// IMP=0x000000010013e704
  - (void)_performAfterPlay:(id)arg1 playbackStarted:(_Bool)arg2;	// IMP=0x000000010013e47c
  - (void)playWithContext:(id)arg1 completion:(CDUnknownBlockType)arg2;	// IMP=0x000000010013e324
  - (_Bool)playWithContext:(id)arg1;	// IMP=0x000000010013e298
  - (_Bool)playWithReason:(unsigned long long)arg1 interruptEvent:(_Bool)arg2;	// IMP=0x000000010013e208
  - (_Bool)playWithReason:(unsigned long long)arg1;	// IMP=0x000000010013e1f8
  - (void)openExternalEpisode:(id)arg1;	// IMP=0x000000010013e0ac
  - (_Bool)shouldPresentNowPlayingForItem:(id)arg1 presentationType:(unsigned long long)arg2;	// IMP=0x000000010013e07c
  - (void)playbackStateDidChange;	// IMP=0x000000010013dbd4
  - (void)updateEpisodeForPlayerUpdateForceSave:(_Bool)arg1;	// IMP=0x000000010013d630
  - (void)playerPeriodicUpdate;	// IMP=0x000000010013d5a4
  - (void)playerHeadWillChange:(id)arg1;	// IMP=0x000000010013d3ec
  - (void)currentItemDidChange;	// IMP=0x000000010013cf78
  - (_Bool)updateEpisode:(id)arg1 andPlayerItem:(id)arg2 withElapsedTime:(double)arg3 andDuration:(double)arg4 onMediaItemWillChange:(_Bool)arg5;	// IMP=0x000000010013c79c
  - (void)currentItemWillChange:(id)arg1;	// IMP=0x000000010013c12c
  - (void)playerFailure:(id)arg1 shouldShowDialog:(_Bool)arg2;	// IMP=0x000000010013bd2c
  - (void)playerFailedToPlayToEndTime:(id)arg1;	// IMP=0x000000010013bc78
  - (void)playerErrorDidOccur:(id)arg1;	// IMP=0x000000010013bc68
  - (void)tearDownPlayerNotifications;	// IMP=0x000000010013bc18
  - (void)setupPlayerNotifications;	// IMP=0x000000010013b980
  - (void)dealloc;	// IMP=0x000000010013b8f8
  - (id)init;	// IMP=0x000000010013b598
  - (id)copy;	// IMP=0x000000010013b570
  
  // Remaining properties
  @property(readonly, copy) NSString *debugDescription;
  @property(readonly, copy) NSString *description;
  @property(readonly) unsigned long long hash;
  @property(readonly) Class superclass;
  
  @end
  
  