@class NSMutableSet, HMDHomePrimaryResidentInitialReachabilityManager, HMDPrimaryElectionLegacyAddOn, NSObject, HMDMessageDispatcher, HMFFuture, NSString, HMDResidentDevice, NSHashTable, HMDPrimaryElectionCoordinationAddOn, HMDDevice, NSSet, NSArray, HMDHome, HMFPromise, NSNotificationCenter, NSUUID; @protocol OS_dispatch_queue, HMDResidentDeviceManagerDelegate, HMDResidentDeviceManagerLegacyDataSource; @interface HMDResidentDeviceManagerLegacy : HMFObject <HMDPrimaryResidentElectionAddOnDelegate, HMDRemoteDeviceMonitorDeviceRegistrationClient, HMDResidentDeviceManagerContext, NSSecureCoding, HMDResidentDeviceManager> { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; NSObject<OS_dispatch_queue> *_queue; NSMutableSet *_residentDevices; BOOL _verifyCurrentResidentDevice; BOOL _fixupRemoteResidentDevice; HMDHome *_home; } @property (class, readonly) BOOL supportsSecureCoding; @property (class, readonly) BOOL hasMessageReceiverChildren; @property (readonly) id<HMDResidentDeviceManagerLegacyDataSource> dataSource; @property (readonly) NSString *logIdentifier; @property (readonly, copy, nonatomic) NSHashTable *devicePreferenceDataSources; @property (readonly) NSNotificationCenter *notificationCenter; @property (retain) HMDHomePrimaryResidentInitialReachabilityManager *primaryResidentInitialReachabilityManager; @property (retain) HMFPromise *cloudReadyPromise; @property (retain) HMDPrimaryElectionLegacyAddOn *legacyElection; @property (retain) HMDPrimaryElectionCoordinationAddOn *localNetworkElection; @property (nonatomic, getter=hasFirstLegacyFetch) BOOL firstLegacyFetch; @property (nonatomic, getter=hasFirstHomeManagerZoneFetch) BOOL firstHomeManagerZoneFetch; @property (nonatomic, getter=hasFirstHomeZoneFetch) BOOL firstHomeZoneFetch; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @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) HMDHome *home; @property (readonly) HMDMessageDispatcher *messageDispatcher; @property (readonly) HMFFuture *cloudReady; @property (readonly) NSObject<OS_dispatch_queue> *queue; @property (readonly) long long atHomeLevel; @property (weak) id<HMDResidentDeviceManagerDelegate> delegate; @property (readonly, copy, nonatomic) NSArray *residentDevices; @property (readonly, nonatomic, getter=isResidentAvailable) BOOL residentAvailable; @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 (nonatomic, getter=isResidentSupported) BOOL residentSupported; @property (readonly, copy) NSSet *messageReceiverChildren; @property (readonly, nonatomic) NSUUID *messageTargetUUID; @property (readonly, nonatomic) NSObject<OS_dispatch_queue> *messageReceiveQueue; + (id)shortDescription; + (id)logCategory; - (void)addDataSource:(id)a0; - (void)_run; - (id)init; - (void)run; - (void)dealloc; - (id)shortDescription; - (void)encodeWithCoder:(id)a0; - (void)invalidate; - (id)dumpState; - (id)initWithDataSource:(id)a0; - (void).cxx_destruct; - (id)initWithCoder:(id)a0; - (void)setHome:(id)a0; - (void)_registerForMessages; - (id)descriptionWithPointer:(BOOL)a0; - (id)ourSelf; - (BOOL)_createResidentDeviceWithModel:(id)a0; - (void)__currentDeviceUpdated:(id)a0 completion:(id /* block */)a1; - (void)_addResidentDevice:(id)a0; - (void)_electResidentDevice:(unsigned long long)a0; - (void)_fixUpRemoteResidentDevice:(id)a0 existingResidentDevice:(id)a1; - (void)_handleCloudZoneReadyNotification:(id)a0; - (void)_handleResidentDeviceUpdateEnabled:(id)a0; - (void)_removeResidentDevice:(id)a0; - (void)_removeResidentDevice:(id)a0 reason:(id)a1; - (void)_removeResidentDeviceWithModel:(id)a0 message:(id)a1; - (void)_sendResidentDeviceNotificationWithName:(id)a0 forResidentDevice:(id)a1; - (void)_setupSessionWithPrimaryResidentDevice; - (BOOL)_shouldEnableCoordinationElection; - (void)_startElectionAddOn; - (void)_stopCoordinationElectionWithReason:(id)a0; - (void)_stopLegacyElectionWithReason:(id)a0; - (void)_teardownSessionWithPrimaryResidentDevice; - (void)_updateReachability:(BOOL)a0 forResidentDevice:(id)a1; - (void)_updateResidentAvailability; - (void)_verifyCurrentResidentDevice; - (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)handleDeviceUpdated:(id)a0; - (void)handleHomeUpdatedAccessories:(id)a0; - (void)handleResidentDeviceIsNotReachable:(id)a0; - (void)handleResidentDeviceIsReachable:(id)a0; - (void)notifyClientsOfUpdatedResidentDevice:(id)a0; - (void)notifyResidentAvailable:(BOOL)a0; - (void)notifyUpdatedPrimaryResident:(id)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; - (BOOL)wasTheHomeFetchedFromCloud; @end