@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 { 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 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 currentValueViewHandler; @property (weak, nonatomic) id currentValueViewDataSourceDelegate; @property (weak, nonatomic) id 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 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