@class UIImageView, NSMutableDictionary, UIViewPropertyAnimator, NSObject, SFFloatSpringProperty, UIVisualEffectView, SFMagicHeadSettings, NSMutableArray, UIView, SFMagicHeadPlaceholderView, UIColor, UIControl, SFMagicHead, NSUUID; @protocol OS_dispatch_source, SFMagicHeadWheelViewDelegate; @interface SFMagicHeadWheelView : UIView @property BOOL invalidated; @property long long guidanceState; @property long long rotationState; @property BOOL rotatedAfterSelectionWasMade; @property double radius; @property (retain) UIView *contentView; @property (retain) UIImageView *canChangeSelectionView; @property (retain) UIVisualEffectView *dotsContainer; @property unsigned long long numberOfDots; @property double dotsRadius; @property (retain) UIColor *dotsColor; @property (retain) UIControl *selectedHeadControl; @property (retain) NSMutableDictionary *identifierToSelectionMarkerView; @property (retain) SFMagicHeadPlaceholderView *placeHolderView; @property (retain) NSObject *suppressGuidanceHapticsTimer; @property long long proposedRotationState; @property long long consecutiveRotationChangeRequests; @property (retain) SFFloatSpringProperty *rotationSpringProperty; @property (retain) SFFloatSpringProperty *pitchSpringProperty; @property (retain) SFFloatSpringProperty *rollSpringProperty; @property double previousAngle; @property (retain) NSMutableArray *dots; @property (retain) UIViewPropertyAnimator *selectionAnimator; @property (nonatomic, getter=isEnabled) BOOL enabled; @property (nonatomic) BOOL noUWBCapableDevices; @property (retain, nonatomic) SFMagicHeadSettings *settings; @property (weak) NSObject *delegate; @property (readonly, nonatomic) NSUUID *nodeIdentifier; @property (retain, nonatomic) SFMagicHead *selectedHead; @property (readonly, nonatomic, getter=isMagicHead) BOOL magicHead; + (Class)layerClass; + (double)clampedRotationDegrees:(double)a0; + (double)rotationWithShortestDistanceFromDegrees:(double)a0 toDegrees:(double)a1; - (void)dealloc; - (void)invalidate; - (void)setFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void).cxx_destruct; - (void)layoutSubviews; - (void)loadSettings; - (void)hideDots:(BOOL)a0 withAnimationDuration:(double)a1; - (void)updateVelocityWithCurrentAngle:(double)a0; - (BOOL)canChangeSelectionWhenInRotationState:(long long)a0 guidanceState:(long long)a1 description:(id *)a2 ignoreDisabling:(BOOL)a3; - (BOOL)canChangeSelectionWithDescription:(id *)a0; - (BOOL)canChangeSelectionWithDescription:(id *)a0 ignoreDisabling:(BOOL)a1; - (struct CGPoint { double x0; double x1; })centerOfContentBounds; - (BOOL)configureSelectedHeadWithNode:(id)a0 slotNode:(id)a1 isSameAsSelected:(BOOL)a2; - (void)cozyUpAnimationForHead:(id)a0; - (void)createSprings; - (void)deviceRotatedToDegrees:(double)a0 withPitch:(double)a1 andRoll:(double)a2; - (BOOL)guidanceStatesEnabled; - (void)hapticsForHideDots:(BOOL)a0; - (void)hideSelection:(BOOL)a0; - (BOOL)inGuidanceStates; - (BOOL)inGuidanceStatesWhenInState:(long long)a0; - (id)initWithNumberOfDots:(unsigned long long)a0 dotsRadius:(double)a1 isMagicHead:(BOOL)a2; - (void)lostSelectedNode; - (void)magicHead:(id)a0 requestingSubtitleTextChangeForState:(long long)a1; - (void)magicHeadDidFinishTransferForHead:(id)a0; - (void)magicHeadDidStartTransferForHead:(id)a0; - (void)magicHeadDidTerminateTransferForHead:(id)a0; - (void)pulseSelectedHead; - (void)scaleDots:(BOOL)a0; - (void)selectAnimationForHead:(id)a0 withDismissHead:(id)a1; - (void)selectedHeadHighlighted; - (void)selectedHeadHightlightCancel; - (void)selectedHeadTapped; - (void)setMarkerViewForIdentifier:(id)a0 atPositionDegree:(double)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })squareBounds; - (void)startSuppressGuidanceHapticsTimer; - (void)stopSuppressGuidanceHapticsTimer; - (BOOL)transitionToGuidanceState:(long long)a0; - (void)transitionToRotationState:(long long)a0 bypassSampling:(BOOL)a1; - (void)triggerContractDotsHaptic; - (long long)triggerCountForCandidateRotationState:(long long)a0; - (void)triggerExpandDotsHaptic; - (void)triggerReSelectedHaptic; - (void)triggerSelectedHaptic; - (void)updateCanChangeSelectionUI; - (void)updatePlaceHolderView; - (BOOL)updateSelectedHead:(id)a0; - (BOOL)updateSelectedNode:(id)a0; - (BOOL)updateSelectedSlotNode:(id)a0; - (void)updateSelectionControlState; - (void)updateVisibilityOfComponents; @end