text: /*
  * This header is generated by classdump-dyld 1.0
  * on Saturday, August 24, 2019 at 9:49:50 PM Mountain Standard Time
  * Operating System: Version 12.4 (Build 16M568)
  * Image Source: /System/Library/PrivateFrameworks/AppleMediaServices.framework/AppleMediaServices
  * classdump-dyld is licensed under GPLv3, Copyright © 2013-2016 by Elias Limneos.
  */
  
  
  @protocol AMSMetricsBagContract, OS_dispatch_queue;
  @class NSString, AMSMetricsDatabase, NSMutableSet, NSObject, NSDictionary, AMSURLSession;
  
  @interface AMSMetrics : NSObject {
  
  	BOOL _flushCancelled;
  	BOOL _disableFlushing;
  	BOOL _monitorsLifecycleEvents;
  	BOOL _flushOnForeground;
  	id<AMSMetricsBagContract> _bagContract;
  	NSString* _containerId;
  	long long _maxBatchSize;
  	long long _maxRequestCount;
  	AMSMetricsDatabase* _database;
  	NSMutableSet* _chainedFlushPromises;
  	NSObject*<OS_dispatch_queue> _completionQueue;
  	/*^block*/id _flushTimerBlock;
  	NSDictionary* _lastMetricsDictionary;
  	NSObject*<OS_dispatch_queue> _metricsQueue;
  	NSObject*<OS_dispatch_queue> _propertyQueue;
  	NSMutableSet* _requestPromises;
  	AMSURLSession* _URLSession;
  
  }
  
  @property (nonatomic,retain) AMSMetricsDatabase * database;                             //@synthesize database=_database - In the implementation block
  @property (assign,nonatomic) BOOL disableFlushing;                                      //@synthesize disableFlushing=_disableFlushing - In the implementation block
  @property (nonatomic,retain) NSMutableSet * chainedFlushPromises;                       //@synthesize chainedFlushPromises=_chainedFlushPromises - In the implementation block
  @property (nonatomic,retain) NSObject*<OS_dispatch_queue> completionQueue;              //@synthesize completionQueue=_completionQueue - In the implementation block
  @property (assign,nonatomic) BOOL flushCancelled;                                       //@synthesize flushCancelled=_flushCancelled - In the implementation block
  @property (nonatomic,readonly) double flushInterval; 
  @property (assign,nonatomic) BOOL flushOnForeground;                                    //@synthesize flushOnForeground=_flushOnForeground - In the implementation block
  @property (nonatomic,copy) id flushTimerBlock;                                          //@synthesize flushTimerBlock=_flushTimerBlock - In the implementation block
  @property (nonatomic,retain) NSDictionary * lastMetricsDictionary;                      //@synthesize lastMetricsDictionary=_lastMetricsDictionary - In the implementation block
  @property (nonatomic,retain) NSObject*<OS_dispatch_queue> metricsQueue;                 //@synthesize metricsQueue=_metricsQueue - In the implementation block
  @property (nonatomic,retain) NSObject*<OS_dispatch_queue> propertyQueue;                //@synthesize propertyQueue=_propertyQueue - In the implementation block
  @property (nonatomic,retain) NSMutableSet * requestPromises;                            //@synthesize requestPromises=_requestPromises - In the implementation block
  @property (nonatomic,retain) AMSURLSession * URLSession;                                //@synthesize URLSession=_URLSession - In the implementation block
  @property (nonatomic,retain) id<AMSMetricsBagContract> bagContract;                     //@synthesize bagContract=_bagContract - In the implementation block
  @property (nonatomic,readonly) NSString * containerId;                                  //@synthesize containerId=_containerId - In the implementation block
  @property (nonatomic,readonly) long long eventCount; 
  @property (assign,nonatomic) BOOL flushTimerEnabled; 
  @property (assign,nonatomic) long long maxBatchSize;                                    //@synthesize maxBatchSize=_maxBatchSize - In the implementation block
  @property (assign,nonatomic) long long maxRequestCount;                                 //@synthesize maxRequestCount=_maxRequestCount - In the implementation block
  @property (assign,nonatomic) BOOL monitorsLifecycleEvents;                              //@synthesize monitorsLifecycleEvents=_monitorsLifecycleEvents - In the implementation block
  +(void)setFlushTimerEnabled:(BOOL)arg1 ;
  +(id)_sharedInstanceUsingContract:(id)arg1 ;
  +(id)serverTimeFromDate:(id)arg1 ;
  +(BOOL)flushTimerEnabled;
  +(id)_sharedTimerQueue;
  +(double)timeIntervalFromServerTime:(id)arg1 ;
  +(id)serverTimeFromTimeInterval:(double)arg1 ;
  +(BOOL)disableBackgroundMetrics;
  +(void)setDisableBackgroundMetrics:(BOOL)arg1 ;
  -(void)setCompletionQueue:(NSObject*<OS_dispatch_queue>)arg1 ;
  -(long long)eventCount;
  -(NSObject*<OS_dispatch_queue>)metricsQueue;
  -(void)setMetricsQueue:(NSObject*<OS_dispatch_queue>)arg1 ;
  -(void)_applicationWillEnterForeground;
  -(void)_handleFlushTimer;
  -(void)setFlushTimerEnabled:(BOOL)arg1 ;
  -(id)flushEvents:(id)arg1 ;
  -(long long)maxBatchSize;
  -(NSObject*<OS_dispatch_queue>)propertyQueue;
  -(void)setPropertyQueue:(NSObject*<OS_dispatch_queue>)arg1 ;
  -(AMSMetricsDatabase *)database;
  -(void)setDatabase:(AMSMetricsDatabase *)arg1 ;
  -(AMSURLSession *)URLSession;
  -(void)setURLSession:(AMSURLSession *)arg1 ;
  -(id<AMSMetricsBagContract>)bagContract;
  -(void)setBagContract:(id<AMSMetricsBagContract>)arg1 ;
  -(void)enqueueEvent:(id)arg1 ;
  -(void)_flushTimerUpdated;
  -(id)initWithContainerId:(id)arg1 bagContract:(id)arg2 ;
  -(BOOL)disableFlushing;
  -(void)_openDatabaseIfNeeded;
  -(BOOL)flushTimerEnabled;
  -(id)_metricsDictionary;
  -(void)setDisableFlushing:(BOOL)arg1 ;
  -(void)setFlushCancelled:(BOOL)arg1 ;
  -(NSMutableSet *)requestPromises;
  -(NSMutableSet *)chainedFlushPromises;
  -(void)enqueueEvents:(id)arg1 ;
  -(id)enqueueAsyncEvents:(id)arg1 ;
  -(NSString *)containerId;
  -(void)_addCancellablePromise:(id)arg1 ;
  -(void)setLastMetricsDictionary:(NSDictionary *)arg1 ;
  -(NSDictionary *)lastMetricsDictionary;
  -(BOOL)flushCancelled;
  -(void)_flushDatabaseMetricsWithLockKey:(id)arg1 logKey:(id)arg2 completion:(/*^block*/id)arg3 ;
  -(long long)maxRequestCount;
  -(void)_postEvents:(id)arg1 reportURL:(id)arg2 account:(id)arg3 logKey:(id)arg4 completion:(/*^block*/id)arg5 ;
  -(void)_batchEventArray:(id)arg1 batchBlock:(/*^block*/id)arg2 ;
  -(BOOL)flushOnForeground;
  -(void)setFlushOnForeground:(BOOL)arg1 ;
  -(void)_flushTimerInvalidate;
  -(void)_flushTimerStart;
  -(void)_flushNextBatchWithTopic:(id)arg1 lockKey:(id)arg2 logKey:(id)arg3 requestCount:(long long)arg4 flushedEventCount:(long long)arg5 completion:(/*^block*/id)arg6 ;
  -(id)_nextBatchWithTopic:(id)arg1 lockKey:(id)arg2 error:(id*)arg3 ;
  -(id)_nextTopicWithLockKey:(id)arg1 error:(id*)arg2 ;
  -(BOOL)_shouldBlacklistEvent:(id)arg1 ;
  -(id)_prepareEvent:(id)arg1 ;
  -(id)_baseMetricsURL;
  -(BOOL)monitorsLifecycleEvents;
  -(double)flushInterval;
  -(BOOL)_shouldClearEventsDespiteError:(id)arg1 result:(id)arg2 ;
  -(id)_mescalSignatureWithBodyData:(id)arg1 logKey:(id)arg2 ;
  -(id)_createRequestWithURL:(id)arg1 canary:(id)arg2 account:(id)arg3 body:(id)arg4 signature:(id)arg5 logKey:(id)arg6 collectAdditonalMetrics:(BOOL)arg7 ;
  -(void)dropEvents;
  -(void)setMaxBatchSize:(long long)arg1 ;
  -(void)setMaxRequestCount:(long long)arg1 ;
  -(void)setMonitorsLifecycleEvents:(BOOL)arg1 ;
  -(void)setChainedFlushPromises:(NSMutableSet *)arg1 ;
  -(id)flushTimerBlock;
  -(void)setFlushTimerBlock:(id)arg1 ;
  -(void)setRequestPromises:(NSMutableSet *)arg1 ;
  -(NSObject*<OS_dispatch_queue>)completionQueue;
  -(void)dealloc;
  -(void)cancel;
  -(id)flush;
  @end
  
  