@class NSUUID, NSString, HMUserActionPredictionDuetDataSource, NSMutableDictionary, HMFMessageDispatcher, NSObject, HMUserActionPredictionTransformer, NSMapTable; @protocol OS_dispatch_queue, HMDarwinNotificationProvider, HMUserActionPredictionProviderDataSource; @interface HMUserActionPredictionProvider : NSObject { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; int _firstUnlockToken; NSMapTable *_subscribers; BOOL _shouldRefetchFromDuet; } @property (readonly) NSObject *workQueue; @property (readonly) HMFMessageDispatcher *messageDispatcher; @property (readonly, copy) NSUUID *uuid; @property (readonly, weak) id dataSource; @property (readonly) HMUserActionPredictionDuetDataSource *duetDataSource; @property (readonly) HMUserActionPredictionTransformer *predictionTransformer; @property (readonly) NSMutableDictionary *lastMappedPredictionsPerHome; @property (readonly) id darwinNotificationProvider; @property (readonly, nonatomic) NSUUID *messageTargetUUID; @property (readonly, nonatomic) NSObject *messageReceiveQueue; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)logCategory; - (void)configure; - (void).cxx_destruct; - (void)_handleRefreshPredictionsMessage:(id)a0; - (void)addSubscriber:(id)a0 forHomeIdentifier:(id)a1; - (void)fetchPredictionsForHomeWithIdentifier:(id)a0 completion:(id /* block */)a1; - (id)initWithWorkQueue:(id)a0 messageDispatcher:(id)a1 UUID:(id)a2 dataSource:(id)a3 duetDataSource:(id)a4 predictionTransformer:(id)a5 darwinNotificationProvider:(id)a6; - (void)recalculatePredictions; - (void)removeSubscriber:(id)a0 forHomeIdentifier:(id)a1; - (void)unconfigure; @end