luxlabs header browser preview


@class NSDate, NSString, AMSMetricsFlushOperation, AMSTreatmentStore, AMSBagKeySet, NSObject, NSMutableArray, AMSEngagement, AMSMetricsDatabaseDataSource;
@protocol OS_dispatch_queue, AMSMetricsBagContract, AMSBagProtocol;

@interface AMSMetrics : NSObject <AMSBagConsumer> {
    NSMutableArray *_enqueuedOperations;
    AMSMetricsFlushOperation *_currentFlushOperation;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _enqueuedOperationsLock;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _flushModeLock;
    _Atomic BOOL _flushingDisabled;
    Class _flushTaskClass;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _bagLock;
}

@property (class, readonly, nonatomic) NSObject<OS_dispatch_queue> *sharedTimerQueue;
@property (class, readonly, nonatomic) BOOL appAnalyticsAllowed;
@property (class, readonly, nonatomic) BOOL diagnosticsSubmissionAllowed;
@property (class, nonatomic) BOOL disableBackgroundMetrics;
@property (class, nonatomic) BOOL flushDelayEnabled;
@property (class, nonatomic) BOOL flushTimerEnabled;
@property (class, readonly, nonatomic) NSString *bagSubProfile;
@property (class, readonly, nonatomic) NSString *bagSubProfileVersion;
@property (class, readonly, nonatomic) AMSBagKeySet *bagKeySet;

@property (retain, nonatomic) AMSMetricsDatabaseDataSource *databaseSource;
@property (nonatomic) long long destination;
@property (nonatomic) struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } engagementLock;
@property (nonatomic) BOOL flushingDisabled;
@property (nonatomic) BOOL flushOnForeground;
@property (copy, nonatomic) id /* block */ flushIntervalBlock;
@property (retain, nonatomic) NSDate *flushIntervalStartTime;
@property (retain, nonatomic) AMSEngagement *engagement;
@property (retain, nonatomic) AMSTreatmentStore *treatmentStore;
@property (retain, nonatomic) id<AMSMetricsBagContract> bagContract;
@property (retain, nonatomic) id<AMSBagProtocol> bag;
@property (readonly, nonatomic) NSString *containerId;
@property (readonly, nonatomic) long long eventCount;
@property (nonatomic) BOOL flushTimerEnabled;
@property (nonatomic) long long maxBatchSize;
@property (nonatomic) long long maxRequestCount;
@property (nonatomic) BOOL monitorsLifecycleEvents;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)serverTimeFromDate:(id)a0;
+ (BOOL)recordAppAnalyticsForEvent:(id)a0 bugType:(id)a1;
+ (id)createBagForSubProfile;
+ (double)timeIntervalFromServerTime:(id)a0;
+ (id)internalInstanceUsingBag:(id)a0;
+ (id)serverTimeFromTimeInterval:(double)a0;

- (id)flushTopic:(id)a0;
- (id)initWithContainerID:(id)a0 bag:(id)a1 flushTaskClass:(Class)a2;
- (BOOL)_scheduledFlushAllowedForStyle:(long long)a0;
- (id)initWithContainerID:(id)a0 bag:(id)a1;
- (id)_flushDataSource:(id)a0 topic:(id)a1;
- (void)_flushTimerEnabledChanged;
- (void)_processOperationQueue;
- (id)_determineFlushStrategyWithDataSource:(id)a0 topic:(id)a1;
- (id)initWithContainerId:(id)a0 bagContract:(id)a1;
- (void)dropEvents;
- (id)enqueueAsyncEvents:(id)a0;
- (void)_handleFlushIntervalWithStyle:(long long)a0;
- (id)_enqueueFigaroEvents:(id)a0;
- (id)_modifiedEvents:(id)a0;
- (void)_beginFlushIntervalWithStyle:(long long)a0 events:(id)a1;
- (void)_applicationWillEnterForeground;
- (void)enqueueEvent:(id)a0;
- (void)enqueueEvents:(id)a0;
- (double)_flushIntervalWithConfiguration:(id)a0 forEvents:(id)a1;
- (void)dealloc;
- (id)flush;
- (id)flushEvents:(id)a0;
- (void).cxx_destruct;
- (void)cancel;
- (void)_flushIntervalInvalidate;

@end