@class NSString, NSArray, MRExternalDevice, MRAVOutputDevice, MROutputContextDataSource, _MRAVEndpointDescriptorProtobuf, NSDictionary, MRGroupSessionInfo, MRDeviceInfo, MROrigin; @interface MRAVEndpoint : NSObject { BOOL _outputDevicesDidChangeNotificationScheduled; MROutputContextDataSource *_outputContextDataSource; } @property (retain, nonatomic) NSString *localizedName; @property (retain, nonatomic) NSString *uniqueIdentifier; @property (retain, nonatomic) MROutputContextDataSource *outputContextDataSource; @property (retain, nonatomic) MRExternalDevice *externalDevice; @property (readonly, nonatomic) _MRAVEndpointDescriptorProtobuf *descriptor; @property (readonly, nonatomic) MRDeviceInfo *deviceInfo; @property (readonly, nonatomic) MRAVOutputDevice *predictedOutputDevice; @property (readonly, nonatomic) NSArray *outputDevices; @property (readonly, nonatomic) NSArray *syncedOutputDevices; @property (readonly, nonatomic) NSArray *resolvedOutputDevices; @property (readonly, nonatomic) NSArray *personalOutputDevices; @property (readonly, nonatomic) NSArray *outputDeviceUIDs; @property (readonly, nonatomic) unsigned long long logicalOutputDeviceCount; @property (readonly, nonatomic) MRAVOutputDevice *designatedGroupLeader; @property (readonly, nonatomic) MRAVOutputDevice *groupLeader; @property (readonly, nonatomic) long long connectionType; @property (readonly, nonatomic) NSString *debugName; @property (readonly, nonatomic, getter=isProxyGroupPlayer) BOOL proxyGroupPlayer; @property (readonly, nonatomic) BOOL canModifyGroupMembership; @property (readonly, nonatomic) NSString *shortDescription; @property (readonly, nonatomic) NSDictionary *jsonEncodableDictionaryRepresentation; @property (readonly, nonatomic, getter=isLocalEndpoint) BOOL localEndpoint; @property (readonly, nonatomic, getter=isCompanionEndpoint) BOOL companionEndpoint; @property (readonly, nonatomic) MROrigin *origin; @property (readonly, nonatomic, getter=isConnected) BOOL connected; @property (readonly, nonatomic, getter=isGroupable) BOOL groupable; @property (readonly, nonatomic) MRGroupSessionInfo *groupSessionInfo; @property (readonly, nonatomic) unsigned int volumeCapabilities; @property (readonly, nonatomic) float volume; @property (readonly, nonatomic, getter=isVolumeMuted) BOOL volumeMuted; + (void)_notifyVolumeCapabilitiesDidChange:(unsigned int)a0 outputDevice:(id)a1 endpoint:(id)a2; + (void)_notifyEndpointDidConnect:(id)a0; + (id)_userInfoFromEndpoint:(id)a0 outputDevice:(id)a1; + (void)createEndpointWithOutputDeviceUIDs:(id)a0 queue:(id)a1 completion:(id /* block */)a2; + (void)_notifyDidAddOutputDevice:(id)a0 endpoint:(id)a1; + (void)_notifyVolumeDidChange:(float)a0 outputDevice:(id)a1 endpoint:(id)a2; + (void)_notifyDidRemoveOutputDevice:(id)a0 endpoint:(id)a1; + (void)directEndpointForOutputDeviceUIDs:(id)a0 queue:(id)a1 completion:(id /* block */)a2; + (void)hostedEndpointForOutputDeviceUIDs:(id)a0 queue:(id)a1 completion:(id /* block */)a2; + (void)_notifyDidChangeOutputDevice:(id)a0 endpoint:(id)a1; + (void)_notifyEndpointDidDisconnect:(id)a0 withError:(id)a1; + (void)_notifyVolumeMutedDidChange:(BOOL)a0 outputDevice:(id)a1 endpoint:(id)a2; + (void)_notifyDidChangePredictedOutputDevice:(id)a0 endpoint:(id)a1; + (void)createEndpointWithOutputDeviceUIDs:(id)a0 options:(unsigned long long)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)resetPredictedOutputDevice; - (id)outputDeviceForUID:(id)a0; - (unsigned long long)hash; - (void)removeOutputDeviceFromParentGroup:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (id)_init; - (BOOL)isEqualToEndpoint:(id)a0; - (void)setOutputDevices:(id)a0 initiator:(id)a1 withReplyQueue:(id)a2 completion:(id /* block */)a3; - (void)setListeningMode:(id)a0 outputDeviceUID:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (id)discoverySessionWithConfiguration:(id)a0; - (void)_adjustOutputDeviceVolume:(long long)a0 outputDevice:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)_setOutputDeviceVolume:(float)a0 outputDevice:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)setConversationDetectionEnabled:(BOOL)a0 outputDeviceUID:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (id)description; - (void)setHeadTrackedSpatialAudioMode:(id)a0 outputDeviceUID:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void).cxx_destruct; - (void)removeOutputDevices:(id)a0 initiator:(id)a1 withReplyQueue:(id)a2 completion:(id /* block */)a3; - (void)addOutputDevices:(id)a0 initiator:(id)a1 withReplyQueue:(id)a2 completion:(id /* block */)a3; - (id)debugDescription; - (void)connectToExternalDeviceWithOptions:(unsigned int)a0 userInfo:(id)a1 completion:(id /* block */)a2; - (BOOL)isEqual:(id)a0; - (void)_muteOutputDeviceVolume:(BOOL)a0 outputDevice:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)setOutputDevices:(id)a0 initiator:(id)a1 fadeAudio:(BOOL)a2 withReplyQueue:(id)a3 completion:(id /* block */)a4; - (id)_externalOutputContext; - (void)setAllowsHeadTrackedSpatialAudio:(BOOL)a0 outputDeviceUID:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)adjustOutputDeviceVolume:(long long)a0 outputDevice:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (id)outputDevicesMatchingPredicate:(id /* block */)a0; - (void)adjustOutputDeviceVolume:(long long)a0 outputDevice:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)adjustVolume:(long long)a0 details:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)adjustVolume:(long long)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)canMigrateToEndpoint:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)connectToExternalDeviceWithUserInfo:(id)a0 completion:(id /* block */)a1; - (BOOL)containsOutputDeviceWithUID:(id)a0; - (void)createHostedEndpointWithOutputDeviceUIDs:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (BOOL)effectivelyEqual:(id)a0; - (void)isMutedOnQueue:(id)a0 completion:(id /* block */)a1; - (void)migrateToEndpoint:(id)a0 request:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)migrateToEndpointOrSetOutputDevices:(id)a0 request:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)migrateToOrAddOutputDevices:(id)a0 initiator:(id)a1 withReplyQueue:(id)a2 completion:(id /* block */)a3; - (void)migrateToOrSetOutputDevices:(id)a0 initiator:(id)a1 withReplyQueue:(id)a2 completion:(id /* block */)a3; - (void)migrateToOutputDevice:(id)a0 request:(id)a1 initiator:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)migrateToOutputDevices:(id)a0 request:(id)a1 initiator:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)muteOutputDeviceVolume:(BOOL)a0 outputDevice:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)muteOutputDeviceVolume:(BOOL)a0 outputDevice:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)muteVolume:(BOOL)a0 details:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)muteVolume:(BOOL)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)outputContextDataSourceDidAddOutputDevice:(id)a0; - (void)outputContextDataSourceDidChangeOutputDevice:(id)a0; - (void)outputContextDataSourceDidRemoveOutputDevice:(id)a0; - (void)outputContextDataSourceOutputDeviceDidChangeVolume:(id)a0; - (void)outputContextDataSourceOutputDeviceDidChangeVolumeControlCapabilities:(id)a0; - (void)outputContextDataSourceOutputDeviceDidChangeVolumeMuted:(id)a0; - (void)outputContextDidChangePredictedOutputDevice:(id)a0; - (void)outputDeviceIsMuted:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (id)outputDeviceUIDsMatchingPredicate:(id /* block */)a0; - (void)outputDeviceVolume:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)outputDeviceVolumeControlCapabilities:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)outputDeviceVolumeMuted:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (id)outputDeviceWithUID:(id)a0; - (void)performMigrationToEndpoint:(id)a0 request:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)performMigrationToOutputDevices:(id)a0 request:(id)a1 initiator:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)scheduleEndpointOutputDevicesDidChangeNotification; - (void)setIsMuted:(BOOL)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)setOutputDeviceIsMuted:(BOOL)a0 outputDevice:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)setOutputDeviceVolume:(float)a0 outputDevice:(id)a1 details:(id)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)setOutputDeviceVolume:(float)a0 outputDevice:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)setVolume:(float)a0 details:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)setVolume:(float)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)volumeControlCapabilitiesOnQueue:(id)a0 completion:(id /* block */)a1; - (void)volumeMutedOnQueue:(id)a0 completion:(id /* block */)a1; - (void)volumeOnQueue:(id)a0 completion:(id /* block */)a1; - (void)willStartingPlaybackToOutputDeviceInterruptPlayback:(id)a0 duration:(double)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)willStartingPlaybackToOutputDevicesInterruptPlayback:(id)a0 originatingOutputDeviceUID:(id)a1 duration:(double)a2 queue:(id)a3 completion:(id /* block */)a4; @end