luxlabs header browser preview


@class NSDictionary, HKInteractiveChartAnnotationViewDataSource, HKDisplayType, UILabel, NSMutableArray, NSString, NSCalendar, NSArray, NSUserActivity, HKUnitPreferenceController, HKTimeScopeControl, HKCurrentValueViewDataSource, HKHealthStore, HKUIDateLabel, HKSampleTypeDateRangeController, HKGraphViewController, HKDateCache, HKLollipopController, HKSelectedRangeFormatter, _TtC8HealthUI45HKInteractiveChartInteractionAnalyticsManager, HKCurrentTimeView, UIView, UIImpactFeedbackGenerator, UIFont, HKSelectedTimeScopeController, HKSampleType, UIColor, NSDate, HKDisplayTypeController, HKChartDataCacheController;
@protocol HKCurrentValueViewDataSourceDelegate, HKCurrentOverlayLocationProviding, HKInteractiveChartCurrentValueViewCallbacks, HKTrendAccessibilityDelegate, HKInteractiveChartCurrentValueViewHandler;

@interface HKInteractiveChartViewController : HKViewController <HKSampleTypeDateRangeControllerObserver, HKCurrentTimeViewDelegate, HKInteractiveChartAnnotationViewDelegate, UIGestureRecognizerDelegate, HKMonthViewControllerDelegate, HKLollipopDelegate, HKGraphViewDelegate, HKInteractiveChartCurrentValueViewHandler, HKInteractiveChartCurrentValueViewCallbacks, HKCurrentValueViewDataSourceDelegate, HKChartOverlayVersionProviding> {
    NSMutableArray *_observers;
    long long _displayState;
    UILabel *_selectedSeriesLabel;
    UILabel *_selectedSeriesUnitLabel;
    HKTimeScopeControl *_radioButtons;
    HKCurrentTimeView *_currentTimeView;
    UIView *_currentValueView;
    double _bannerBottom;
    UIView *_graphTopDividerView;
    UIView *_graphBottomDividerView;
    UILabel *_dashboardEmptyHeader;
    UILabel *_dashboardEmptyDescription;
    NSArray *_allGraphSeriesConfigurationManagers;
    UIFont *_majorSelectedPointFont;
    UIFont *_minorSelectedPointFont;
    HKUIDateLabel *_selectedPointDateLabel;
    UIImpactFeedbackGenerator *_impactFeedbackGenerator;
    UIView *_primaryGraphViewWrapper;
    UIView *_primaryGraphViewSnapshot;
    NSDate *_creationDate;
    unsigned long long _options;
    double _lastDateValueRangeUpdate;
}

@property (retain, nonatomic) HKLollipopController *lollipopController;
@property (nonatomic) double legendBottomLocation;
@property (retain, nonatomic) NSArray *displayTypeStack;
@property (retain, nonatomic) HKSelectedRangeFormatter *selectedRangeFormatter;
@property (retain, nonatomic) HKCurrentValueViewDataSource *currentValueViewDataSource;
@property (retain, nonatomic) id initialXValue;
@property (nonatomic) long long sampleDateRangeUpdateCount;
@property (nonatomic) long long delayedAutoscaleRequestCount;
@property (nonatomic) long long delayedAutoscaleActualCount;
@property (copy, nonatomic) id /* block */ startupReportingBlock;
@property (weak, nonatomic) id<HKInteractiveChartCurrentValueViewCallbacks> standardCurrentValueViewCallbacks;
@property (nonatomic) BOOL disableCurrentValueViewForInitialLollipop;
@property (retain, nonatomic) NSDictionary *timeScopeRanges;
@property (copy, nonatomic) id /* block */ chartHasDataCompletion;
@property (retain, nonatomic) NSArray *stackedDisplayTypeProportions;
@property (readonly, nonatomic) _TtC8HealthUI45HKInteractiveChartInteractionAnalyticsManager *analyticsManager;
@property (readonly, nonatomic) HKGraphViewController *primaryGraphViewController;
@property (readonly, nonatomic) double dateSelectorHeight;
@property (readonly, nonatomic) NSCalendar *currentCalendar;
@property (readonly, nonatomic) HKHealthStore *healthStore;
@property (readonly, nonatomic) HKUnitPreferenceController *unitPreferenceController;
@property (readonly, nonatomic) HKDateCache *dateCache;
@property (readonly, nonatomic) HKSelectedTimeScopeController *selectedTimeScopeController;
@property (readonly, nonatomic) HKChartDataCacheController *chartDataCacheController;
@property (readonly, nonatomic) HKDisplayTypeController *displayTypeController;
@property (readonly, nonatomic) HKSampleTypeDateRangeController *sampleTypeDateRangeController;
@property (weak, nonatomic) id<HKInteractiveChartCurrentValueViewHandler> currentValueViewHandler;
@property (weak, nonatomic) id<HKCurrentValueViewDataSourceDelegate> currentValueViewDataSourceDelegate;
@property (weak, nonatomic) id<HKCurrentOverlayLocationProviding> currentOverlayLocationProvider;
@property (readonly, nonatomic) NSUserActivity *restorationUserActivity;
@property (nonatomic) long long annotationDataSourceFirstWeekday;
@property (readonly, nonatomic) long long primaryDisplayTypeStackIndex;
@property (retain, nonatomic) HKInteractiveChartAnnotationViewDataSource *annotationDataSource;
@property (readonly) HKDisplayType *calendarQueryDisplayType;
@property (readonly) HKSampleType *calendarQuerySampleType;
@property (readonly) UIColor *calendarDaySamplePresentColor;
@property (weak, nonatomic) id<HKTrendAccessibilityDelegate> trendAccessibilityDelegate;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (readonly, nonatomic) NSString *chartOverlayVersion;

+ (id)_encodeCurrentProfileIdentifierForHealthStore:(id)a0;
+ (BOOL)_timeScope:(long long)a0 inTimeScopeRanges:(id)a1;
+ (long long)_timeScopeForTimeScope:(long long)a0 availableTimeScopes:(id)a1;
+ (id)_timeScopesWithOptions:(unsigned long long)a0 timeScopeRanges:(id)a1;
+ (id)baseRestorationUserActivity:(id)a0 activityType:(id)a1 title:(id)a2;
+ (id)mergeRestorationDictionary:(id)a0 otherDictionary:(id)a1;
+ (void)saveRestorationUserActivity:(id)a0 viewController:(id)a1;
+ (id)standardChartRestorationActivity:(id)a0 primaryDisplayType:(id)a1;
+ (id)standardChartRestorationDictionary:(id)a0 healthStore:(id)a1;

- (void)_dynamicUserInterfaceTraitDidChange;
- (void)dealloc;
- (void)traitCollectionDidChange:(id)a0;
- (void)viewWillLayoutSubviews;
- (void)viewDidLoad;
- (void)loadView;
- (BOOL)prefersStatusBarHidden;
- (void).cxx_destruct;
- (void)viewDidAppear:(BOOL)a0;
- (void)restoreUserActivityState:(id)a0;
- (void)setDetailView:(id)a0;
- (id)initWithStackedDisplayTypes:(id)a0 healthStore:(id)a1 unitPreferenceController:(id)a2 dateCache:(id)a3 chartDataCacheController:(id)a4 selectedTimeScopeController:(id)a5 sampleTypeDateRangeController:(id)a6 initialXValue:(id)a7 currentCalendarOverride:(id)a8 options:(unsigned long long)a9 timeScopeRanges:(id)a10;
- (id)_colorForDisplayType:(id)a0;
- (void)addChartViewObserver:(id)a0;
- (BOOL)infographicSupportedForDisplayType:(id)a0 healthStore:(id)a1;
- (id)infographicViewControllerForDisplayType:(id)a0 healthStore:(id)a1;
- (id)initWithDisplayTypes:(id)a0 healthStore:(id)a1 unitPreferenceController:(id)a2 dateCache:(id)a3 chartDataCacheController:(id)a4 selectedTimeScopeController:(id)a5 sampleTypeDateRangeController:(id)a6 initialXValue:(id)a7 currentCalendarOverride:(id)a8 options:(unsigned long long)a9;
- (id)makeAnnotationDataSource;
- (id)makeStandardCurrentValueViewDataSource;
- (id)stringForValueRange:(id)a0 timeScope:(long long)a1;
- (void)updateSelectionAnnotationDataSourceForContext:(id)a0 displayType:(id)a1 timeScope:(long long)a2 resolution:(long long)a3;
- (BOOL)_visibleRangeIsNowForTimeScope:(long long)a0;
- (void)_handleInitialLollipopSelection;
- (BOOL)_tilingDisabled;
- (BOOL)_acceptSubclassRange:(id)a0 proposedRange:(id)a1 axisRange:(id)a2;
- (void)_addDisplayTypeToConfiguration:(id)a0 allDisplayTypes:(id)a1 configurationManager:(id)a2;
- (void)_addSeriesForDisplayType:(id)a0 updatingTimeScopeProperties:(id)a1 configurationManager:(id)a2;
- (id)_allDisplayTypes;
- (double)_annotationViewCenterY;
- (BOOL)_applyHorizontalMarginsToEntireView;
- (void)_automaticAutoScale;
- (id)_chartDataForPoint:(id)a0;
- (BOOL)_chartHasDateAxis;
- (id)_configurationForDisplayType:(id)a0;
- (id)_configurationForSeries:(id)a0;
- (void)_configureCustomDisplayType:(id)a0 graphSeries:(id)a1 configurationManager:(id)a2 timeScope:(long long)a3;
- (void)_configureInitialLollipopSelection;
- (void)_configureSelectedRangeFormatterWithChartRangeProvider;
- (long long)_countOfHorizontalSectionsForConfigurationManager:(id)a0 timeScope:(long long)a1;
- (void)_createAndPrepareFeedbackGenerator;
- (void)_createDashboardEmptyLabelsIfNecessary;
- (id)_createGraphSeriesConfigurationFromDisplayType:(id)a0 timeScope:(long long)a1;
- (BOOL)_currentValueEnabled;
- (id)_customGraphSeriesForDisplayType:(id)a0;
- (BOOL)_dashboardEmptyLabelsExist;
- (BOOL)_date:(id)a0 closeToDate:(id)a1 epsilonDateComponents:(id)a2 calendar:(id)a3;
- (id)_dateForBlockPoint:(id)a0;
- (id)_dateForMostRecentData;
- (long long)_dateZoom;
- (id)_debugDateStringForPoint:(id)a0;
- (id)_defaultAxisRangeIncludeToday:(BOOL)a0;
- (long long)_defaultTimeScopeWithAvailableTimeScopes:(id)a0;
- (id)_displayNameForDisplayType:(id)a0;
- (id)_displayTypeForSeries:(id)a0;
- (BOOL)_displayTypeIsHorizontalForTimeScope:(long long)a0 displayType:(id)a1;
- (id)_displayUnitForDisplayType:(id)a0;
- (BOOL)_drawsGridlinesPerSeriesGroup;
- (double)_effectiveHorizontalMargin;
- (id)_formatterForSeries:(id)a0;
- (id)_graphViewAxisAndVisibleDateRangeForTimeScope:(long long)a0 fixedRange:(id)a1;
- (void)_handleVisibleRangeChange;
- (BOOL)_headerLineEnabled;
- (void)_hideTimeDateControls;
- (BOOL)_inPointSelectionMode;
- (void)_layoutDashboardEmptyLabelsIfNecessary;
- (void)_layoutDividerViews;
- (void)_layoutHeader;
- (id)_midPointDateFromVisibleRange;
- (void)_moveSelectedDateInDirection:(long long)a0;
- (void)_notifyObserversDidUpdateVisibleValueRange:(id)a0 changeContext:(long long)a1;
- (long long)_numHorizontalDisplayTypesForTimeScope:(long long)a0 displayTypes:(id)a1;
- (id)_numberForXCoordinate:(double)a0 graphView:(id)a1;
- (void)_omitLayoutHeader;
- (id)_pointSelectionInfo:(id)a0;
- (BOOL)_prefersOpaqueLegends;
- (id)_primaryDisplayType;
- (BOOL)_primaryDisplayTypeHasNoData;
- (void)_radioButtonsDidUpdate:(id)a0;
- (id)_rangeValueAsNumber:(id)a0;
- (void)_replacePrimaryGraphViewControllerWithScalarController;
- (void)_replacePrimaryGraphViewControllerWithTimeScope:(long long)a0 anchorDate:(id)a1 animated:(BOOL)a2;
- (void)_scheduleDelayedAutoscale;
- (void)_scrollToAnchorDate:(id)a0 graphView:(id)a1 alignment:(long long)a2;
- (void)_scrollToMostRecentDataWithAlignment:(long long)a0;
- (BOOL)_selectedDateRangeLabelEnabled;
- (BOOL)_selectedSeriesWantsLastRecordedDate;
- (void)_setDateSelectorToVisibleRange;
- (void)_setGraphViewAxisAndVisibleDateRangeForTimeScope:(long long)a0 anchorDate:(id)a1 preserveScrollPosition:(BOOL)a2;
- (void)_setSelectedGraphSeries:(id)a0 animated:(BOOL)a1;
- (void)_setVisibleDisplayTypes:(id)a0 includeDateAxis:(BOOL)a1;
- (void)_setVisibleRangeUsingDateFromDateSelector:(id)a0;
- (BOOL)_shouldHandleInitialLollipopTouchDate:(id)a0 mostRecentDataDate:(id)a1 forGraphView:(id)a2;
- (BOOL)_shouldHandleVisibleRangeChangeWithChangeContext:(long long)a0;
- (BOOL)_shouldShowDateRangeForSelectedPointDateLabel;
- (void)_showHideNoGraphSeriesLabels;
- (BOOL)_showInfoButtonInCurrentValueView;
- (void)_showTimeDateControls;
- (id)_singleFixedRange;
- (BOOL)_timeScopeEnabled;
- (id)_trendCoordinateDescriptionForStartX:(double)a0 endX:(double)a1 timeScope:(long long)a2 graphView:(id)a3;
- (void)_unitPreferencesDidUpdate:(id)a0;
- (void)_updateAfterConfigurationChangeIncludeDateAxis:(BOOL)a0;
- (void)_updateAxisScalingRulesForUnitPreferenceChangesOfTypes:(id)a0;
- (void)_updateGraphViewAxisDateRange;
- (void)_updateSelectedSeriesLabel:(id)a0;
- (long long)_userInfoSelectionCount:(id)a0;
- (BOOL)_valueRange:(id)a0 fitsInsideValueRange:(id)a1;
- (BOOL)_viewHierarchyIsHidden:(id)a0;
- (id)accessibilityDataForChart;
- (long long)addNewDisplayTypeStackWithDisplayTypes:(id)a0;
- (id)addNoDataEntries:(id)a0 timeScope:(long long)a1 targetSeries:(id)a2;
- (void)addOverlayDisplayType:(id)a0 stackOffset:(long long)a1;
- (id)currentDisplayTypesForStackOffset:(long long)a0;
- (void)currentTimeViewDidTapOnDateSelector:(id)a0;
- (void)currentTimeViewDidTapOnNextTimeButton:(id)a0;
- (void)currentTimeViewDidTapOnPreviousTimeButton:(id)a0;
- (id)dateForXCoordinate:(double)a0 graphView:(id)a1;
- (long long)defaultAlignmentForTimeScope:(long long)a0;
- (id)descriptionForChartData:(id)a0 timeScope:(long long)a1;
- (id)descriptionForStartX:(double)a0 endX:(double)a1 chartData:(id)a2 timeScope:(long long)a3 resolution:(long long)a4 graphView:(id)a5;
- (id)descriptionSeriesForGraphView:(id)a0;
- (id)descriptionSpansForGraphView:(id)a0 timeScope:(long long)a1;
- (void)didTapBackButtonForMonthViewController:(id)a0;
- (void)didTapOnDateFromCurrentValueView:(id)a0;
- (void)didTapOnInfoButtonFromCurrentValueView:(id)a0;
- (id)fixedRangeForTimeScope:(long long)a0;
- (id)graphSeriesForDisplayType:(id)a0 timeScope:(long long)a1 stackOffset:(long long)a2;
- (void)graphView:(id)a0 didFinishUserScrollingToValueRange:(id)a1;
- (void)graphView:(id)a0 didUpdateFromDateZoom:(long long)a1 toDateZoom:(long long)a2 newVisibleRange:(id)a3;
- (void)graphView:(id)a0 didUpdateLegendViewsWithTopLegendFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)graphView:(id)a0 didUpdateSelectedPoint:(id)a1;
- (void)graphView:(id)a0 didUpdateSeries:(id)a1 newDataArrived:(BOOL)a2 changeContext:(long long)a3;
- (void)graphView:(id)a0 didUpdateVisibleValueRange:(id)a1 changeContext:(long long)a2;
- (void)graphView:(id)a0 didUpdateYAxisWidth:(double)a1 toWidth:(double)a2;
- (id)graphView:(id)a0 graphSeriesForZoom:(long long)a1 stackOffset:(long long)a2;
- (void)graphView:(id)a0 startupTime:(long long)a1;
- (void)graphViewDidBeginSelection:(id)a0;
- (void)graphViewDidEndSelection:(id)a0;
- (void)graphViewDidTapYAxis:(id)a0;
- (void)graphViewExternalSelectionEnd:(id)a0;
- (BOOL)graphViewPointSelectionDifferentiatesSeriesGroups:(id)a0;
- (void)graphViewRenderedView:(id)a0;
- (void)graphViewSizeChanged:(id)a0;
- (double)heightForChartHeight:(double)a0;
- (id)initWithStackedDisplayTypes:(id)a0 primaryDisplayTypeStackIndex:(id)a1 stackedDisplayTypeProportions:(id)a2 healthStore:(id)a3 unitPreferenceController:(id)a4 dateCache:(id)a5 chartDataCacheController:(id)a6 selectedTimeScopeController:(id)a7 sampleTypeDateRangeController:(id)a8 initialXValue:(id)a9 currentCalendarOverride:(id)a10 options:(unsigned long long)a11 timeScopeRanges:(id)a12;
- (void)installGraphViewSnapshot;
- (void)interactiveChartHasData:(id /* block */)a0;
- (id)lollipopAnnotationColor;
- (id)lollipopExtensionColor;
- (double)lollipopExtensionLength;
- (id)lollipopFieldColor;
- (id)makeAnchorDateFromPreviousAnchorDate:(id)a0 previousEffectiveVisibleRange:(id)a1 previousTimeScope:(long long)a2 currentTimeScope:(long long)a3;
- (id)makeCurrentValueView;
- (id)makePrimaryGraphViewControllerWithDateZoom:(long long)a0 previousDateZoom:(long long)a1 previousXAxisSpace:(double)a2 currentCalendar:(id)a3;
- (double)minimumHeightForChart;
- (double)minimumHeightForWidth:(double)a0 chartWidthToHeightRatio:(double)a1;
- (void)monthViewController:(id)a0 didSelectDate:(id)a1;
- (void)primaryGraphViewControllerDidInitialize:(id)a0;
- (long long)primarySeriesGroupIndexForGraphView:(id)a0;
- (void)removeAllStackedDisplayTypes;
- (void)removeChartViewObserver:(id)a0;
- (BOOL)removeDisplayTypeStackAtIndex:(long long)a0;
- (void)removeGraphViewSnapshotAnimated:(BOOL)a0;
- (void)removeOverlayDisplayType:(id)a0 stackOffset:(long long)a1;
- (void)removeOverlayDisplayType:(id)a0 stackOffset:(long long)a1 automaticAutoscale:(BOOL)a2;
- (void)replaceCurrentDisplayTypesWithTypes:(id)a0 stackOffset:(long long)a1 resetDateRange:(BOOL)a2 automaticAutoScale:(BOOL)a3;
- (id)replaceRangeClause:(id)a0;
- (void)replaceStackedDisplayTypesWithStack:(id)a0 primaryDisplayTypeStackIndex:(id)a1 stackedDisplayTypeProportions:(id)a2;
- (void)reportStartupTime:(id /* block */)a0;
- (id)restorationStateDictionary;
- (void)sampleTypeDateRangeController:(id)a0 didUpdateDateRanges:(id)a1;
- (void)saveRestorationState;
- (void)scrollToDate:(id)a0 withVisibleAlignment:(long long)a1;
- (void)scrollToMostRecentData;
- (void)scrollToRange:(id)a0 withVisibleAlignment:(long long)a1;
- (void)selectTimeScope:(long long)a0;
- (id)seriesSelectionLineColorForGraphView:(id)a0;
- (void)setCurrentValueViewCallbacks:(id)a0;
- (void)setRestorationUserActivity:(id)a0;
- (long long)stackCountForGraphView:(id)a0;
- (long long)stackOffsetCount;
- (id)stackedSeriesGroupProportionsForGraphView:(id)a0;
- (id)supportedTimeScopes;
- (void)unitPreferencesWillUpdate:(id)a0;
- (void)updateAnnotationDataSource:(id)a0 pointContexts:(id)a1;
- (void)updateCurrentValueView:(id)a0 graphView:(id)a1 timeScope:(long long)a2 showInfoButton:(BOOL)a3;
- (void)updateCurrentValueViewWithVisibleRange;
- (void)updatePrimaryGraphViewController;
- (id)visibleRangeForTimeScope:(long long)a0 proposedRange:(id)a1;

@end