@class NSXPCConnection, NSString, NSXPCListenerEndpoint, NSDate, MRAVDistantEndpoint, MRExternalOutputContextDataSource, NSArray, NSObject, NSMutableArray, MRDeviceInfo, MROrigin; @protocol OS_dispatch_queue; @interface MRDistantExternalDevice : MRExternalDevice { NSObject *_workerQueue; NSObject *_serialQueue; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _distantEndpointLock; unsigned long long _callbacks; unsigned long long _deviceNotifications; NSDate *_connectionStateDate; unsigned int _connectionState; NSDate *_hasEverAttemptedToConnectDate; MROrigin *_customOrigin; BOOL _hasEverAtteptedToConnectWhileInvalid; NSArray *_subscribedPlayerPaths; MRExternalOutputContextDataSource *_externalOutputContext; MRAVDistantEndpoint *_distantEndpoint; unsigned int _connectionOptions; NSMutableArray *_pendingConnectionAttempts; MRDeviceInfo *_deviceInfo; } @property (copy, nonatomic) id /* block */ connectionStateCallback; @property (retain, nonatomic) NSObject *connectionStateCallbackQueue; @property (copy, nonatomic) id /* block */ customDataCallback; @property (retain, nonatomic) NSObject *customDataCallbackQueue; @property (copy, nonatomic) id /* block */ volumeCallback; @property (retain, nonatomic) NSObject *volumeCallbackQueue; @property (retain, nonatomic) MRExternalOutputContextDataSource *externalOutputContext; @property (retain, nonatomic) MRAVDistantEndpoint *distantEndpoint; @property (retain, nonatomic) NSXPCConnection *hostedExternalDeviceConnection; @property (readonly, nonatomic) NSXPCListenerEndpoint *listenerEndpoint; @property (readonly, nonatomic) BOOL hasEverAttemptedToConnect; @property (readonly, nonatomic) unsigned long long callbacks; @property (readonly, nonatomic) unsigned long long notifications; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)clientInterface; + (id)serviceInterface; - (BOOL)isPaired; - (id)deviceInfo; - (unsigned int)connectionState; - (void)dealloc; - (id)personalOutputDevices; - (id)hostName; - (id)uid; - (void)setListeningMode:(id)a0 outputDeviceUID:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)setConversationDetectionEnabled:(BOOL)a0 outputDeviceUID:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (BOOL)isValid; - (void).cxx_destruct; - (id)name; - (long long)port; - (void)setOutputDeviceVolume:(float)a0 outputDeviceUID:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)adjustOutputDeviceVolume:(long long)a0 outputDeviceUID:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)connectWithOptions:(unsigned int)a0 userInfo:(id)a1 completion:(id /* block */)a2; - (void)createHostedEndpointWithOutputDeviceUIDs:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (id)customOrigin; - (void)disconnect:(id)a0; - (void)discoveryOutputDevicesChanged:(id)a0 forConfiguration:(id)a1; - (void)hostedExternalDeviceConnectionStateDidChange:(unsigned int)a0 withError:(id)a1; - (void)hostedExternalDeviceDeviceInfoDidChange:(id)a0; - (void)hostedExternalDeviceDidAddOutputDevice:(id)a0; - (void)hostedExternalDeviceDidChangeOutputDevice:(id)a0; - (void)hostedExternalDeviceDidReceiveCustomData:(id)a0 withName:(id)a1; - (void)hostedExternalDeviceDidRemoveOutputDevice:(id)a0; - (void)hostedExternalDeviceEndpointDidChange:(id)a0; - (void)hostedExternalDeviceIsMutedDidChange:(BOOL)a0 forOutputDevice:(id)a1; - (void)hostedExternalDeviceVolumeCapabilitiesDidChange:(unsigned int)a0 forOutputDevice:(id)a1; - (void)hostedExternalDeviceVolumeDidChange:(float)a0 forOutputDevice:(id)a1; - (id)initWithExternalDeviceListenerEndpoint:(id)a0 endpoint:(id)a1; - (BOOL)isUsingSystemPairing; - (void)modifyByAddingDeviceUIDs:(id)a0 removingDeviceUIDs:(id)a1 settingDeviceUIDs:(id)a2 addingClusterAwareDeviceUIDs:(id)a3 removingClusterAwareDeviceUIDs:(id)a4 settingClusterAwareDeviceUIDs:(id)a5 withReplyQueue:(id)a6 completion:(id /* block */)a7; - (void)muteOutputDeviceVolume:(BOOL)a0 outputDeviceUID:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)outputDeviceVolume:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)outputDeviceVolumeControlCapabilities:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)ping:(double)a0 callback:(id /* block */)a1 withQueue:(id)a2; - (void)sendButtonEvent:(struct _MRHIDButtonEvent { unsigned int x0; unsigned int x1; BOOL x2; })a0; - (void)sendCustomData:(id)a0 withName:(id)a1; - (void)setConnectionStateCallback:(id /* block */)a0 withQueue:(id)a1; - (void)setCustomDataCallback:(id /* block */)a0 withQueue:(id)a1; - (void)setDiscoveryMode:(unsigned int)a0 forConfiguration:(id)a1; - (void)setNameCallback:(id /* block */)a0 withQueue:(id)a1; - (void)setPairingAllowedCallback:(id /* block */)a0 withQueue:(id)a1; - (void)setPairingCallback:(id /* block */)a0 withQueue:(id)a1; - (void)setSubscribedPlayerPaths:(id)a0; - (void)setVolumeCallback:(id /* block */)a0 withQueue:(id)a1; - (void)setWantsEndpointChangeNotifications:(BOOL)a0; - (void)setWantsNowPlayingArtworkNotifications:(BOOL)a0; - (void)setWantsNowPlayingNotifications:(BOOL)a0; - (void)setWantsOutputDeviceNotifications:(BOOL)a0; - (void)setWantsSystemEndpointNotifications:(BOOL)a0; - (void)setWantsVolumeNotifications:(BOOL)a0; - (id)subscribedPlayerPaths; - (id)supportedMessages; - (BOOL)wantsEndpointChangeNotifications; - (BOOL)wantsNowPlayingArtworkNotifications; - (BOOL)wantsNowPlayingNotifications; - (BOOL)wantsOutputDeviceNotifications; - (BOOL)wantsSystemEndpointNotifications; - (BOOL)wantsVolumeNotifications; @end