@class NSDate, NSString, IAMMessageEntryManager, IAMModalTarget, IAMStorageCoordinator, NSMutableDictionary, NSDictionary, IAMImpressionManager, NSObject, NSMutableArray; @protocol OS_dispatch_queue, IAMMessageMetricsDelegate, IAMApplicationContextProvider; @interface IAMMessageCoordinator : NSObject <IAMImpressionManagerDelegate, IAMStorageCoordinatorDelegate, IAMEventReceiver> { NSObject<OS_dispatch_queue> *_accessQueue; NSMutableDictionary *_messageTargetsByTargetIdentifier; NSMutableDictionary *_messageTargetsRequiringNilPriorityMessageNotificationAfterRegistrationByTargetIdentifier; NSMutableDictionary *_priorityMessageEntryByTargetIdentifier; IAMImpressionManager *_impressionManager; NSMutableArray *_pendingTriggerContexts; IAMStorageCoordinator *_storageCoordinator; NSDictionary *_metadataEntryByMessageIdentifier; NSDate *_lastDisplayTimeGlobalPresentationPolicyGroupNormal; NSDate *_lastDisplayTimeGlobalPresentationPolicyGroupRestricted; IAMMessageEntryManager *_messageEntryManager; BOOL _isReadyToEvaluateMessages; NSString *_modalTargetIdentifier; IAMModalTarget *_modalTarget; NSDictionary *_messageGroupsByGroupIdentifier; NSMutableDictionary *_completionHandlersForObservedEvents; } @property (weak, nonatomic) id<IAMMessageMetricsDelegate> metricsDelegate; @property (weak, nonatomic) id<IAMApplicationContextProvider> applicationContext; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)initialize; + (id)_createMessageFromMessageEntry:(id)a0 replacingResourcePathsWithCachedResourceLocations:(BOOL)a1; - (void)_notifyMessageTargets:(id)a0 withTargetIdentifier:(id)a1 didUpdatePriorityMessageFromEntry:(id)a2 observedEventName:(id)a3; - (id)init; - (void)dealloc; - (void)endObservingTriggerEvent:(id)a0 forToken:(id)a1; - (void)_updatePriorityMessageEntry:(id)a0 forTargetIdentifier:(id)a1 shouldNotifyTargetsIfNonNil:(BOOL)a2 observedEventName:(id)a3; - (void)start; - (void)_removeUserNotificationRemovalForMessageWithIdentifier:(id)a0; - (id)_metadataEntryForMessageIdentifier:(id)a0; - (void)_evaluateMessagesForAllActiveTargets; - (void)receiveEvent:(id)a0; - (void)reportMessageWithIdentifier:(id)a0 actionWasPerformedWithIdentifier:(id)a1 fromTargetWithIdentifier:(id)a2; - (void)_reportHoldoutMessageWouldAppear:(id)a0; - (void)impressionManager:(id)a0 shouldReportImpressionEventWithDictionary:(id)a1; - (void)reportMetricsEvent:(id)a0; - (void)_updateMetadata:(id)a0 forMessageEntry:(id)a1 completion:(id /* block */)a2; - (void)reportMessageDidAppearWithIdentifier:(id)a0; - (void)receiveTriggerEventContext:(id)a0; - (void)reportMessageDidDisappearWithIdentifier:(id)a0 fromTargetWithIdentifier:(id)a1; - (void)_fetchMessagesAndMetadataFromStorageCoordinator:(id /* block */)a0; - (void)triggerPresentationForMessageWithIdentifier:(id)a0 completionHandler:(id /* block */)a1; - (void)reportChangedContextPropertiesContext:(id)a0; - (void)_reportMessageAction:(id)a0 wasPerformedInMessageEntry:(id)a1 fromTargetWithIdentifier:(id)a2; - (id)_filterActiveTargetIdentifiers:(id)a0; - (void)_handleUpdatedMessageEntries:(id)a0 andMetadata:(id)a1; - (void)registerMessageTarget:(id)a0; - (void)_enqueuePendingTriggerContext:(id)a0; - (void)_reevaluateTargetsWithIdentifiers:(id)a0 forTriggerContext:(id)a1 shouldNotifyTargetsIfPriorityMessageNonNil:(BOOL)a2; - (void)_updateLastDisplayTime:(id)a0 forMessageEntry:(id)a1; - (void)_startStorageCoordinatorWithMessageEntryProvider:(id)a0 messageMetadataStorage:(id)a1 propertyStorage:(id)a2; - (id)_messageBundleIdentifiers; - (void)_processObservedEventCallbacksforEventName:(id)a0 willTriggerPresentation:(BOOL)a1 messageIdentifier:(id)a2; - (void)startWithApplicationContext:(id)a0; - (id)_dequeuePendingTriggerContexts; - (void)reportMessageDidDisappearWithIdentifier:(id)a0; - (void).cxx_destruct; - (void)reportApplicationContextPropertiesDidChange:(id)a0; - (void)_incrementNumberOfDisplaysForMessageEntry:(id)a0; - (void)impressionManager:(id)a0 impressionDidEndForMessageEntry:(id)a1; - (void)_calculateMessagesProximityAndDownloadResourcesIfNeeded:(id)a0; - (void)_handleMessageReachedMaximumDisplayCount:(id)a0; - (void)startWithApplicationContext:(id)a0 messageGroups:(id)a1 messageEntryProvider:(id)a2 messageMetadataStorage:(id)a3 propertyStorage:(id)a4; - (void)_reevaluateMessageEntries:(id)a0 forTargetIdentifier:(id)a1 shouldNotifyTargetsIfPriorityMessageNonNil:(BOOL)a2 withObservedEventName:(id)a3; - (void)_setMessageGroups:(id)a0; - (void)reportMessageDidAppearWithIdentifier:(id)a0 fromTargetWithIdentifier:(id)a1; - (id)beginObservingTriggerEvent:(id)a0 withHandler:(id /* block */)a1; - (void)startWithApplicationContext:(id)a0 messageGroups:(id)a1; - (void)reportMessageWithIdentifier:(id)a0 actionWasPerformedWithIdentifier:(id)a1; - (void)unregisterMessageTarget:(id)a0; - (void)storageCoordinatorMessageEntriesChanged:(id)a0; - (void)_updateMetadataOfMessageEntriesByTrigger:(id)a0 forReceivedEvent:(id)a1; @end