@class HMDAccessorySetupMetricDispatcher, HMDRoom, HMFMessageDispatcher, NSObject, HMFActivity, HMDMediaDestinationsManager, HMDAppleMediaAccessory, HMMediaDestination, HMDApplicationData, HMDMediaSession, NSString, HMDAccessorySettingsController, HMDBackingStore, HMDCurrentAccessorySetupMetricDispatcher, NSSet, NSArray, HMMediaSystemData, HMDHome, NSNotificationCenter, NSUUID; @protocol HMDMediaGroupsAggregateConsumerDataProvider, HMDMediaSystemDataSource, OS_dispatch_queue, HMDMediaDestinationManager; @interface HMDMediaSystem : HMFObject { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; } @property (class, readonly) BOOL supportsSecureCoding; @property (class, readonly) BOOL hasMessageReceiverChildren; @property (retain) HMMediaSystemData *data; @property (retain) HMDMediaDestinationsManager *audioDestinationsManager; @property (readonly) id aggregateDataProvider; @property (retain) NSNotificationCenter *notificationCenter; @property (copy) id /* block */ audioDestinationsManagerFactory; @property (weak) id dataSource; @property (readonly, nonatomic) NSUUID *uuid; @property (copy, nonatomic) NSString *name; @property (copy, nonatomic) NSString *configuredName; @property (readonly, weak, nonatomic) HMDHome *home; @property (readonly) HMDRoom *room; @property (readonly, copy, nonatomic) NSArray *components; @property (readonly, nonatomic) NSArray *accessories; @property (retain, nonatomic) NSObject *workQueue; @property (retain, nonatomic) HMFMessageDispatcher *msgDispatcher; @property (retain, nonatomic) HMDMediaSession *mediaSession; @property (retain, nonatomic) HMDApplicationData *appData; @property (readonly, nonatomic) HMDAppleMediaAccessory *targetAccessory; @property (readonly) HMDAccessorySettingsController *settingsController; @property (readonly) HMMediaDestination *audioDestination; @property (readonly) id audioDestinationManager; @property (readonly, copy) NSArray *associatedAudioDestinationManagers; @property (readonly) HMDBackingStore *backingStore; @property (readonly) BOOL supportsUserMediaSettings; @property (retain) HMFActivity *setupActivity; @property double setupStartTimestamp; @property (readonly) HMDAccessorySetupMetricDispatcher *accessorySetupMetricDispatcher; @property (readonly) HMDCurrentAccessorySetupMetricDispatcher *currentAccessorySetupMetricDispatcher; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, copy) NSSet *messageReceiverChildren; @property (readonly, nonatomic) NSUUID *messageTargetUUID; @property (readonly, nonatomic) NSObject *messageReceiveQueue; + (id)logCategory; + (void)_configureMediaSystemComponents:(id)a0 mediaSystem:(id)a1; + (id)destinationIdentifierForComponentRoleType:(unsigned long long)a0 components:(id)a1; + (id)initalizeDataWithIdentifier:(id)a0 parentIdentifier:(id)a1 name:(id)a2 defaultName:(BOOL)a3 components:(id)a4; + (id)sortMediaComponents:(id)a0; - (void)_registerForNotifications; - (id)urlString; - (void)setComponents:(id)a0; - (void)dealloc; - (id)serialize; - (void)encodeWithCoder:(id)a0; - (id)privateDescription; - (id)dumpState; - (BOOL)isValid; - (id)logIdentifier; - (void).cxx_destruct; - (id)attributeDescriptions; - (id)messageDestination; - (id)initWithCoder:(id)a0; - (void)_updateAppData:(id)a0; - (void)_registerForMessages; - (id)audioDestinationIdentifier; - (id)legacyName; - (id)assistantObject; - (void)configureMediaSystemComponents:(id)a0; - (void)configureWithMessageDispatcher:(id)a0; - (void)handleAccessorySoftwareUpdated:(id)a0; - (void)_handleAppData:(id)a0; - (void)repairAnyPreExistingAudioGroups; - (void)_appDataRemoved:(id)a0 message:(id)a1; - (void)_appDataUpdated:(id)a0 message:(id)a1; - (void)_routeUpdateMediaSystem:(id)a0; - (void)_transactionMediaSystemUpdated:(id)a0 message:(id)a1; - (void)accessorySettingsController:(id)a0 saveWithReason:(id)a1; - (void)accessorySettingsController:(id)a0 saveWithReason:(id)a1 model:(id)a2; - (id)assistantAccessControlModelWithRemovedAccessoriesForAccessorySettingsController:(id)a0; - (id)associatedDestinationManagersForMediaDestinationsManager:(id)a0; - (void)auditMediaComponents; - (id)backingStoreObjectsForVersion:(long long)a0; - (BOOL)componentsSupportsHomeLevelLocationServiceSetting; - (void)configureAudioDestinationsManager; - (id)createNewAudioDestination; - (id)destinationControllerGroupedWithAssociatedDestination; - (id)generateComponents; - (void)handleHomeCloudZoneReadyNotification:(id)a0; - (void)handleRemovedAccessory:(id)a0; - (id)initWithMediaSystemData:(id)a0 home:(id)a1; - (id)initWithMediaSystemModel:(id)a0 home:(id)a1; - (id)initWithUUID:(id)a0 configuredName:(id)a1 home:(id)a2 data:(id)a3 components:(id)a4; - (id)initWithUUID:(id)a0 configuredName:(id)a1 home:(id)a2 data:(id)a3 components:(id)a4 settingsControllerCreator:(id /* block */)a5; - (BOOL)isCurrentComponent; - (BOOL)isMultiUserEnabledForAccessorySettingsController:(id)a0; - (void)languagesChangedForAccessorySettingsController:(id)a0; - (id)legacyAudioDestination; - (id)legacyComponents; - (id)legacyConfiguredName; - (id)mediaDestinationsManager:(id)a0 destinationControllerWithIdentifier:(id)a1; - (void)mediaDestinationsManager:(id)a0 didUpdateDestination:(id)a1; - (id)mediaGroupsAggregatorMessengerForMediaDestinationsManager:(id)a0; - (void)mergeAudioDestination:(id)a0; - (void)mergeMediaSystemData:(id)a0; - (id)modelForMediaSystem; - (id)modelObjectWithChangeType:(unsigned long long)a0; - (id)modelsToMakeSettingsForController:(id)a0 parentUUID:(id)a1; - (id)modelsToMigrateSettingsForController:(id)a0; - (void)relayMessage:(id)a0; - (id)remoteMessageDestinationForAccessorySettingsController:(id)a0 target:(id)a1; - (void)removeManagedConfigurationProfileWithProfileData:(id)a0 completion:(id /* block */)a1; - (id)supportedMultiUserLanguageCodesForAccessorySettingsController:(id)a0; - (id)targetAccessoryBySerial; - (id)targetAccessoryForMediaDestinationManager:(id)a0; - (void)transactionObjectRemoved:(id)a0 message:(id)a1; - (void)transactionObjectUpdated:(id)a0 newValues:(id)a1 message:(id)a2; - (void)unconfigureMediaSystemComponents; - (void)unconfigureMediaSystemComponents:(id)a0; @end