@class HMDAppleAccountManager, NSMutableSet, HMDRemoteDeviceMonitor, NSObject, HMDMessageDispatcher, HMFFuture, NSString, HMDPrimaryElectionCoordinationAddOn, NSHashTable, HMDModernTransportDeviceReachabilityObserver, HMDResidentDevice, HMDDevice, NSArray, HMDHome, NSSet, NSNotificationCenter, NSUUID; @protocol HMDResidentDeviceManagerDelegate, HMDResidentDeviceManagerRoarBackingStore, OS_os_log, HMDPrimaryResidentDiscoveryManager, OS_dispatch_queue, HMDResidentDeviceManagerRoarDataSource; @interface HMDResidentDeviceManagerRoar : HMFObject { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; NSObject *_queue; NSMutableSet *_residentDevices; NSObject *_logger; } @property (class, readonly) BOOL supportsSecureCoding; @property (class, readonly) BOOL hasMessageReceiverChildren; @property (readonly) NSNotificationCenter *notificationCenter; @property (readonly) id dataSource; @property (readonly) id backingStore; @property (retain) HMDModernTransportDeviceReachabilityObserver *reachabilityObserver; @property (readonly) HMDAppleAccountManager *appleAccountManager; @property (retain) HMDRemoteDeviceMonitor *deviceMonitor; @property (retain) HMDPrimaryElectionCoordinationAddOn *localNetworkElection; @property (readonly) NSString *logIdentifier; @property (readonly) id primaryDiscoveryManager; @property (readonly, nonatomic) NSHashTable *primaryDiscoveryRequesters; @property (weak, nonatomic) HMDHome *home; @property (readonly) NSObject *queue; @property (getter=isActingAsResident) BOOL actingAsResident; @property (weak) id delegate; @property (readonly) BOOL isResidentSupported; @property (readonly) BOOL isResidentEnabled; @property (readonly) BOOL isOwnerUser; @property (readonly) HMDResidentDevice *currentResidentDevice; @property (readonly) HMDResidentDevice *primaryResidentDevice; @property (readonly, copy) NSArray *availableResidentDevices; @property (readonly) BOOL isCurrentDeviceAvailableResident; @property (readonly) HMDMessageDispatcher *messageDispatcher; @property (readonly) HMFFuture *cloudReady; @property (readonly) long long atHomeLevel; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, copy, nonatomic) NSArray *residentDevices; @property (readonly, nonatomic, getter=isResidentAvailable) BOOL residentAvailable; @property (readonly, nonatomic) BOOL hasAnyResident; @property (readonly, nonatomic, getter=isCurrentDeviceAvailableResident) BOOL currentDeviceAvailableResident; @property (readonly, nonatomic, getter=isCurrentDevicePrimaryResident) BOOL currentDevicePrimaryResident; @property (readonly, nonatomic, getter=isCurrentDeviceConfirmedPrimaryResident) BOOL currentDeviceConfirmedPrimaryResident; @property (readonly, nonatomic) HMDDevice *confirmedPrimaryResidentDevice; @property (readonly, nonatomic) BOOL isResidentElectionV2Enabled; @property (readonly, nonatomic) BOOL hasTrustZoneCapableResident; @property (readonly) NSUUID *primaryResidentUUID; @property (readonly) NSUUID *primaryResidentGenerationID; @property (nonatomic, getter=isResidentSupported) BOOL residentSupported; @property (readonly, copy) NSSet *messageReceiverChildren; @property (readonly, nonatomic) NSUUID *messageTargetUUID; @property (readonly, nonatomic) NSObject *messageReceiveQueue; + (id)shortDescription; + (id)logCategory; - (void)addDataSource:(id)a0; - (void)_registerForNotifications; - (void)_run; - (id)init; - (void)run; - (id)shortDescription; - (void)encodeWithCoder:(id)a0; - (void)invalidate; - (id)dumpState; - (id)initWithDataSource:(id)a0; - (void).cxx_destruct; - (id)initWithCoder:(id)a0; - (void)_registerForMessages; - (id)descriptionWithPointer:(BOOL)a0; - (id)ourSelf; - (void)modernTransportDeviceReachabilityObserverDidUpdate:(id)a0 isReachable:(BOOL)a1; - (void)_addResidentDevice:(id)a0; - (void)_handleCloudZoneReadyNotification:(id)a0; - (void)_handleResidentDeviceUpdateEnabled:(id)a0; - (void)_removeResidentDevice:(id)a0; - (void)_sendResidentDeviceNotificationWithName:(id)a0 forResidentDevice:(id)a1; - (void)_setupSessionWithPrimaryResidentDevice; - (void)_teardownSessionWithPrimaryResidentDevice; - (void)_updateReachability:(BOOL)a0 forResidentDevice:(id)a1; - (void)atHomeLevelChanged:(long long)a0; - (void)configureWithHome:(id)a0 messageDispatcher:(id)a1; - (void)confirmAsResident; - (void)confirmOnAvailability; - (void)confirmWithCompletionHandler:(id /* block */)a0; - (void)electResidentDevice:(unsigned long long)a0; - (void)handleCurrentDeviceChanged:(id)a0; - (void)notifyClientsOfUpdatedResidentDevice:(id)a0; - (void)notifyResidentAvailable:(BOOL)a0; - (void)primaryElectionAddOn:(id)a0 didElectPrimaryResident:(id)a1 confirmed:(BOOL)a2 electionLogEvent:(id)a3; - (void)primaryElectionAddOn:(id)a0 didFailToElectWithError:(id)a1; - (void)primaryElectionAddOn:(id)a0 didUpdateActiveNodes:(id)a1; - (void)primaryElectionAddOn:(id)a0 didUpdateResidentDevice:(id)a1; - (void)removeResidentDevice:(id)a0; - (id)residentDeviceForDevice:(id)a0; - (id)residentWithUUID:(id)a0; - (void)setResidentAvailable:(BOOL)a0; - (void)transactionObjectRemoved:(id)a0 message:(id)a1; - (void)transactionObjectUpdated:(id)a0 newValues:(id)a1 message:(id)a2; - (void)updatePrimaryResidentWithUUID:(id)a0 actions:(id)a1; - (void)updateResidentAvailability; - (void)_handleRemoteDeviceIsReachable:(id)a0; - (void)_checkPrimaryResidentDeviceRemoved:(id)a0 currentPrimary:(id)a1; - (void)_configureResidentSupported; - (void)_discoverPrimaryResidentForRequester:(id)a0; - (void)_handleCloudResidentChange:(id)a0; - (void)_handlePrimaryResident:(id)a0 isReachable:(BOOL)a1; - (void)_handlePrimaryResidentDiscoveryRequest:(id)a0; - (void)_handlePrimaryResidentDiscoveryXPCRequest:(id)a0; - (void)_handleReachabilityAfterPrimaryResidentChangedTo:(id)a0 previousPrimaryResident:(id)a1; - (void)_handleRemoteDeviceIsNotReachable:(id)a0; - (void)_handleUpdatedPrimaryFromLeader:(id)a0; - (void)_handleUpdatedPrimaryResidentDevice:(id)a0 previousPrimaryResident:(id)a1 generationID:(id)a2 changeSource:(unsigned long long)a3; - (void)_joinLocalMesh; - (void)_notifyUpdatedGenerationIDWithPrimaryResident:(id)a0; - (void)_setResident:(id)a0 reachableOverIDS:(BOOL)a1 andNotify:(BOOL)a2; - (void)_startLocalNetworkElection; - (void)_stopLocalNetworkElection; - (BOOL)_updatePrimaryResidentGenerationID:(id)a0; - (void)_updateReachability:(BOOL)a0 forResidentDevices:(id)a1; - (void)_updateReachabilityFromWorkingStoreExceptResident:(id)a0; - (void)_updateResidentAvailability:(BOOL)a0; - (void)_updateResidentIDSReachability:(BOOL)a0 withUpdatedDevice:(id)a1; - (void)_updateResidentReachabilityWithResidents:(id)a0; - (void)accountOrDeviceDidUpdate:(id)a0; - (BOOL)allowExternalUpdateOfPrimaryResidentTo:(id)a0; - (void)discoverPrimaryResidentForRequester:(id)a0; - (void)discoveryManager:(id)a0 didCompleteDiscoveryWithPrimaryResidentDevice:(id)a1 primaryResidentGenerationID:(id)a2 error:(id)a3; - (id)foundNewPrimaryResident:(id)a0 generationID:(id)a1; - (void)handlePrimaryResidentDiscovered:(id)a0 primaryResidentGenerationID:(id)a1; - (void)notifyUpdatedPrimaryResident:(id)a0 previousPrimaryResident:(id)a1; - (void)primaryElectionAddOn:(id)a0 didReceivePrimaryResidentUUIDFromLeader:(id)a1; - (id)residentDevicesSet; - (void)sawGenerationID:(id)a0 forDevice:(id)a1; @end