luxlabs header browser preview


@class NSString, CADisplayLink, NSHashTable, NSDate, NSObject, NSCalendar;
@protocol OS_dispatch_source;

@interface CLKClockTimer : NSObject {
    CADisplayLink *_displayLink;
    NSHashTable *_handlersByUpdateFrequency[5];
    NSHashTable *_allHandlers;
    unsigned long long _nextToken;
    NSDate *_lastNow;
    long long _lastHour;
    long long _lastMinute;
    long long _lastSecond;
    long long _last15fps;
    long long _last30fps;
    long long _last60fps;
    BOOL _paused;
    BOOL _isForeground;
    BOOL _backlightOn;
    BOOL _permittedToRun;
    NSDate *_waitTimerScheduledFireTime;
    NSObject<OS_dispatch_source> *_waitForNextEventTimer;
    NSCalendar *_calendar;
}

@property (nonatomic) BOOL ignoreScreenState;
@property (readonly, nonatomic) NSString *identifier;

+ (id)sharedInstance;
+ (id)now;

- (void)_updateDisplayLink;
- (id)initWithIdentifier:(id)a0;
- (void)pause;
- (void)_handleTimePassed;
- (id)init;
- (void)_onDisplayLink:(id)a0;
- (void)dealloc;
- (id)description;
- (void).cxx_destruct;
- (void)unpause;
- (id)startUpdatesWithUpdateFrequency:(long long)a0 withHandler:(id /* block */)a1 identificationLog:(id /* block */)a2;
- (void)stopUpdatesForToken:(id)a0;
- (void)setHandler:(id)a0 wantsCommit:(BOOL)a1;
- (void)_createDisplayLinkIfNeeded;
- (long long)_minimumPossibleUpdateFrequency;
- (void)_cancelWaitTimer;
- (BOOL)_hasHandlers;
- (void)_maybeClearLastSeenTimeComponents;
- (id)_nextTokenWithUpdateFrequency:(long long)a0 wantsCommit:(BOOL)a1 wantsHighAccuracy:(BOOL)a2 identificationLog:(id /* block */)a3 handler:(id /* block */)a4;
- (void)_setDisplayLinkFrameInterval:(long long)a0;
- (double)_timeUntilNextHighAccuracyEventFromHour:(long long)a0 minute:(long long)a1 second:(long long)a2 nanosecond:(long long)a3;
- (double)_timeUntilNextHighAccuracyEventFromNow;
- (void)_updateDisplayLinkWithTimeUntilNextHighAccuracyEvent:(double)a0 withMinimumUpdateFrequency:(long long)a1;
- (void)_updateIsPermittedToRun;
- (id)start15fpsUpdatesWithHandler:(id /* block */)a0 identificationLog:(id /* block */)a1;
- (id)start30fpsUpdatesWithHandler:(id /* block */)a0 identificationLog:(id /* block */)a1;
- (id)start60fpsUpdatesWithHandler:(id /* block */)a0 identificationLog:(id /* block */)a1;
- (id)startMinuteUpdatesWithHandler:(id /* block */)a0 identificationLog:(id /* block */)a1;
- (id)startSecondUpdatesWithHandler:(id /* block */)a0 identificationLog:(id /* block */)a1;

@end