@class NSString, NSArray, NSData, NSDictionary, NSNumber, AVWeakReference; @protocol AVOutputDeviceImplSupport, FigRoutingContextFactory; @interface AVFigRouteDescriptorOutputDeviceImpl : NSObject <AVOutputDeviceImpl> { AVWeakReference *_weakObserver; struct OpaqueFigRouteDiscoverer { } *_routeDiscoverer; struct OpaqueFigVolumeControllerState { } *_volumeController; id<FigRoutingContextFactory> _routingContextFactory; BOOL _useRouteConfigUpdatedNotification; } @property (readonly, nonatomic) struct __CFDictionary { } *routeDescriptor; @property (weak) id<AVOutputDeviceImplSupport> implEventListener; @property (readonly, copy, nonatomic) NSString *name; @property (readonly, copy, nonatomic) NSString *ID; @property (readonly, nonatomic) long long deviceType; @property (readonly, nonatomic) long long deviceSubType; @property (readonly, nonatomic) long long clusterType; @property (readonly, nonatomic) long long configuredClusterSize; @property (readonly, nonatomic) NSString *manufacturer; @property (readonly, copy, nonatomic) NSString *modelID; @property (readonly, nonatomic) NSString *serialNumber; @property (readonly, nonatomic) NSString *firmwareVersion; @property (readonly, copy, nonatomic) NSData *identifyingMACAddress; @property (readonly, nonatomic) NSArray *clusteredDeviceDescriptions; @property (readonly, nonatomic) BOOL isClusterLeader; @property (readonly, nonatomic) NSString *clusterID; @property (readonly, nonatomic) BOOL producesLowFidelityAudio; @property (readonly, nonatomic, getter=isAppleAccessory) BOOL appleAccessory; @property (readonly, nonatomic, getter=isEligibleToBePredictedOutputDevice) BOOL eligibleToBePredictedOutputDevice; @property (readonly, nonatomic) NSNumber *batteryLevel; @property (readonly, nonatomic) NSNumber *caseBatteryLevel; @property (readonly, nonatomic) NSNumber *leftBatteryLevel; @property (readonly, nonatomic) NSNumber *rightBatteryLevel; @property (readonly, nonatomic) NSNumber *supportsDataOverACLProtocol; @property (readonly, nonatomic) NSNumber *isInEar; @property (readonly, nonatomic) NSDictionary *airPlayProperties; @property (readonly, nonatomic, getter=isInUseByPairedDevice) BOOL inUseByPairedDevice; @property (readonly, copy, nonatomic) NSArray *connectedPairedDevices; @property (readonly, nonatomic) unsigned long long deviceFeatures; @property (readonly, nonatomic) BOOL requiresAuthorization; @property (readonly, nonatomic) BOOL automaticallyAllowsConnectionsFromPeersInHomeGroup; @property (readonly, nonatomic) BOOL onlyAllowsConnectionsFromPeersInHomeGroup; @property (readonly, nonatomic) BOOL canAccessRemoteAssets; @property (readonly, nonatomic) BOOL canAccessAppleMusic; @property (readonly, nonatomic) BOOL canAccessiCloudMusicLibrary; @property (readonly, nonatomic) BOOL supportsBufferedAirPlay; @property (readonly) float volume; @property (readonly) BOOL canSetVolume; @property (readonly) BOOL canMute; @property (getter=isMuted) BOOL muted; @property (readonly) long long volumeControlType; @property (readonly, nonatomic) BOOL canBeGrouped; @property (readonly, copy, nonatomic) NSString *groupID; @property (readonly, copy, nonatomic) NSString *proposedGroupID; @property (readonly, nonatomic) BOOL canBeGroupLeader; @property (readonly, nonatomic) BOOL isGroupLeader; @property (readonly, nonatomic) BOOL participatesInGroupPlayback; @property (readonly, nonatomic) BOOL groupContainsGroupLeader; @property (readonly, nonatomic) NSString *logicalDeviceID; @property (readonly, nonatomic) BOOL isLogicalDeviceLeader; @property (readonly, nonatomic) BOOL canCommunicateWithAllLogicalDeviceMembers; @property (readonly, nonatomic) BOOL canRelayCommunicationChannel; @property (readonly, nonatomic) BOOL canPlayEncryptedProgressiveDownloadAssets; @property (readonly, nonatomic) BOOL canFetchMediaDataFromSender; @property (readonly, nonatomic) BOOL presentsOptimizedUserInterfaceWhenPlayingFetchedAudioOnlyAssets; @property (readonly, nonatomic) BOOL supportsBluetoothSharing; @property (readonly, nonatomic) long long HAPConformance; @property (readonly, nonatomic) BOOL supportsHeadTrackedSpatialAudio; @property (readonly, nonatomic) BOOL allowsHeadTrackedSpatialAudio; @property (readonly, nonatomic) NSString *headTrackedSpatialAudioMode; @property (readonly, nonatomic, getter=isHeadTrackedSpatialAudioActive) BOOL headTrackedSpatialAudioActive; @property (readonly, nonatomic) NSArray *availableBluetoothListeningModes; @property (readonly, nonatomic) NSString *currentBluetoothListeningMode; @property (readonly, nonatomic) BOOL supportsConversationDetection; @property (readonly, nonatomic, getter=isConversationDetectionEnabled) BOOL conversationDetectionEnabled; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (BOOL)setConversationDetectionEnabled:(BOOL)a0 error:(id *)a1; - (void)setSecondDisplayEnabled:(BOOL)a0; - (void)increaseVolumeByCount:(long long)a0; - (BOOL)supportsFitnessDataDestination; - (void)setSecondDisplayMode:(id)a0 completionHandler:(id /* block */)a1; - (void)configureUsingBlock:(id /* block */)a0 options:(id)a1 completionHandler:(id /* block */)a2; - (BOOL)setAllowsHeadTrackedSpatialAudio:(BOOL)a0 error:(id *)a1; - (BOOL)supportsScreenMirroringControls; - (BOOL)setCurrentBluetoothListeningMode:(id)a0 error:(id *)a1; - (BOOL)setHeadTrackedSpatialAudioMode:(id)a0 error:(id *)a1; - (void)setActivatedDeviceClusterMembersVolume:(float)a0 withRoomID:(id)a1; - (float)volumeForActivatedDeviceClusterMembersWithRoomID:(id)a0; - (void)setVolume:(float)a0; - (id)init; - (void)dealloc; - (void)_volumeForEndpointDidChange:(struct __CFString { } *)a0 forRoomID:(struct __CFString { } *)a1; - (void)_canSetEndpointVolumeDidChangeForEndpointWithID:(struct __CFString { } *)a0; - (void)_canMuteDidChangeForEndpointWithID:(struct __CFString { } *)a0; - (void)decreaseVolumeByCount:(long long)a0; - (id)initWithRouteDescriptor:(struct __CFDictionary { } *)a0 routeDiscoverer:(struct OpaqueFigRouteDiscoverer { } *)a1 volumeController:(struct OpaqueFigVolumeControllerState { } *)a2 routingContextFactory:(id)a3 useRouteConfigUpdatedNotification:(BOOL)a4; - (void).cxx_destruct; - (void)_mutedDidChangeForEndpointWithID:(struct __CFString { } *)a0; - (BOOL)isEqual:(id)a0; - (int)_withEndpoint:(id /* block */)a0; - (void)_volumeDidChangeForEndpointWithID:(struct __CFString { } *)a0; - (void)_endpointVolumeControlTypeDidChangeForEndpointWithID:(struct __CFString { } *)a0; @end