@class JFXThreadSafeArray, CAMZoomControl, JFXPassThroughContainerView, NSString, CAMControlStatusBar, CAMSnapshotView, CFXFaceReticleView, CAMZoomSlider, NSObject, UIView, CFXControlsViewController, CFXEffectComposition, NSLayoutConstraint, CFXEffectBrowserContentPresenterViewController, PUReviewScreenDoneButton, CAMElapsedTimeView, CAMTopBar, CAMViewfinderReticleView, CFXEffectEditorView, CAMFlashButton, CAMDynamicShutterControl, CFXViewfinderFlipTransition, CFXLiveCaptureViewController; @protocol OS_dispatch_group, CFXCaptureViewControllerDelegate; @interface CFXCaptureViewController : UIViewController <CFXEffectEditorViewDelegate, CFXFullScreenTextEditViewControllerDelegate, JFXPassThroughContainerViewDelegate, CAMControlVisibilityUpdateDelegate, CAMZoomControlDelegate, CAMZoomSliderDelegate, JFXAnimojiTrackingLossDelegate, CAMDynamicShutterControlDelegate, CAMControlStatusBarDelegate, CFXLiveCaptureViewControllerDelegate, CFXCameraControlsViewControllerDelegate> @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (retain, nonatomic) UIView *cameraControlsContainerView; @property (retain, nonatomic) NSLayoutConstraint *topBarTopConstraint; @property (retain, nonatomic) NSLayoutConstraint *topBarContaineHeightConstraint; @property (retain, nonatomic) CAMTopBar *topBar; @property (retain, nonatomic) CAMElapsedTimeView *elapsedTimeView; @property (retain, nonatomic) PUReviewScreenDoneButton *doneButton; @property (retain, nonatomic) CAMFlashButton *flashButton; @property (retain, nonatomic) CFXViewfinderFlipTransition *viewfinderFlipTransition; @property (retain, nonatomic) CAMSnapshotView *liveCaptureContainerSnapshot; @property (retain, nonatomic) CAMZoomControl *zoomControl; @property (retain, nonatomic) CAMZoomSlider *zoomSlider; @property (nonatomic, setter=setZoomFactorAtPinchStart:) double zoomFactorAtPinchStart; @property (nonatomic) BOOL isRecording; @property (nonatomic) BOOL observingOrientationChanges; @property (nonatomic) unsigned long long appliedDirectOverlayEditingGestures; @property (nonatomic) BOOL dockIsMagnified; @property (nonatomic) double dockMagnifiedHeightDelta; @property (retain, nonatomic) CFXEffectBrowserContentPresenterViewController *effectBrowserContentPresenterViewController; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } zoomControlFrame; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } zoomSliderFrame; @property (nonatomic) BOOL captureContainerUncroppedFrameWasCalculatedWithContentRect; @property (nonatomic) BOOL cameraIsFlipping; @property (retain, nonatomic) JFXPassThroughContainerView *effectEditorContainerView; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } presentationRect; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } externalUncroppedPresentationRect; @property (nonatomic) BOOL configuredForOrientation; @property (retain, nonatomic) CFXFaceReticleView *animojiTrackingLossReticle; @property (retain, nonatomic) UIView *animojiReticleFacePromptView; @property (nonatomic) BOOL isShowingAnimojiReticle; @property (retain, nonatomic) NSLayoutConstraint *facePromptLabelYConstraint; @property (retain, nonatomic) UIView *presentationView; @property (retain, nonatomic) CAMViewfinderReticleView *reticleView; @property (retain, nonatomic) UIView *bottomControlsContainer; @property (retain, nonatomic) CAMDynamicShutterControl *dynamicShutterControl; @property (retain, nonatomic) CAMControlStatusBar *controlStatusBar; @property (nonatomic) struct { long long tapBehavior; long long longPressBehavior; long long dragRightBehavior; long long dragLeftBehavior; BOOL allowsZoom; long long lockBehavior; long long ringStyle; long long stopColor; long long idleColor; } dynamicShutterSettings; @property (nonatomic) BOOL switchedToVideoMode; @property (retain, nonatomic) JFXThreadSafeArray *runOnceAnimatedOverlays; @property (retain, nonatomic) CFXLiveCaptureViewController *cameraViewController; @property (retain, nonatomic) NSObject<OS_dispatch_group> *editingOverlayWithGestureGroup; @property (nonatomic) BOOL isExternalCaptureSessionAnExternalCamera; @property (retain, nonatomic) CFXEffectEditorView *effectEditor; @property (weak, nonatomic) id<CFXCaptureViewControllerDelegate> delegate; @property (retain, nonatomic) CFXControlsViewController *cameraControls; @property (nonatomic) long long aspectRatioCrop; @property (nonatomic) double userInterfaceAlpha; @property (nonatomic) long long captureMode; @property (nonatomic) long long flashMode; @property (retain, nonatomic) CFXEffectComposition *composition; @property (retain, nonatomic) UIView *effectsPickerDrawer; @property (nonatomic) BOOL useLocalCameraViewfinder; @property (readonly, nonatomic) BOOL livePlayerIsSaturated; @property (retain, nonatomic) UIView *nonTransformedContainerView; @property (retain, nonatomic) NSLayoutConstraint *captureControlsContainerHeightConstraint; @property (retain, nonatomic) NSLayoutConstraint *captureControlsContainerWidthConstraint; @property (retain, nonatomic) NSLayoutConstraint *captureControlsContainerTrailingConstraint; @property (retain, nonatomic) NSLayoutConstraint *captureControlsContainerLeadingConstraint; @property (retain, nonatomic) NSLayoutConstraint *captureControlsContainerTopConstraint; @property (retain, nonatomic) UIView *liveCaptureContainer; @property (retain, nonatomic) UIView *liveCaptureContainerContainer; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)dynamicShutterControlDidShortPress:(id)a0; - (void)dynamicShutterControlGesturesDidEnd:(id)a0; - (void)toggleBetweenZoomFactorsForZoomControl:(id)a0; - (void)zoomControl:(id)a0 didChangeZoomFactor:(double)a1 interactionType:(long long)a2; - (void)dynamicShutterControlGesturesDidCancel:(id)a0; - (void)dynamicShutterControlGesturesDidBegin:(id)a0; - (void)viewWillAppear:(BOOL)a0; - (void)dealloc; - (BOOL)canToggleBetweenZoomFactorsForZoomControl:(id)a0; - (void)viewDidLoad; - (void)controlStatusBar:(id)a0 didReceiveTapInIndicatorForType:(unsigned long long)a1; - (void)shutterControlTouchAttemptedWhileDisabled:(id)a0; - (void)zoomSliderDidEndAutozooming:(id)a0; - (void)dynamicShutterControlDidDismissCounter:(id)a0; - (void)dynamicShutterControlDidPressLockButton:(id)a0; - (void)viewWillDisappear:(BOOL)a0; - (void)updateControlVisibilityAnimated:(BOOL)a0; - (void)dynamicShutterControlDidPresentCounter:(id)a0; - (void).cxx_destruct; - (void)dynamicShutterControlDidStop:(id)a0; - (void)addEffect:(id)a0; - (void)doneButtonTapped:(id)a0; - (void)viewDidAppear:(BOOL)a0; - (void)zoomSliderDidEndZooming:(id)a0; - (void)viewWillTransitionToSize:(struct CGSize { double x0; double x1; })a0 withTransitionCoordinator:(id)a1; - (void)zoomSliderDidBeginAutozooming:(id)a0; - (void)controlStatusBar:(id)a0 didCreateIndicatorForType:(unsigned long long)a1; - (void)startVideoRecording; - (void)prepareForSegue:(id)a0 sender:(id)a1; - (BOOL)shouldPerformSegueWithIdentifier:(id)a0 sender:(id)a1; - (void)resign; - (void)dynamicShutterControlDidStart:(id)a0; - (void)flashModeDidChange; - (void)handlePinchGestureRecognizer:(id)a0; - (void)CFX_addEffect:(id)a0 allowImmediateTextEditing:(BOOL)a1; - (void)CFX_adjustOverlaysForCaptureOrientationChanged:(long long)a0 oldCaptureOrientation:(long long)a1; - (long long)CFX_camFlashModeForCaptureFlashMode:(long long)a0; - (BOOL)CFX_canApplyFaceTracking; - (long long)CFX_captureTorchModeForCAMFlashMode:(long long)a0; - (void)CFX_getCAMCaptureForPosition:(long long)a0 type:(id)a1 captureDevice:(long long *)a2 captureDevicePosition:(long long *)a3 captureMode:(long long *)a4; - (void)CFX_handleZoomPinchGestureRecognizer:(id)a0; - (BOOL)CFX_isRenderingAnimatedOverlaysThatDontLoop; - (void)CFX_performBackCameraZoomWithPinchGestureRecognizer:(id)a0; - (void)CFX_setFrameAndRenderSizes; - (void)CFX_toggleCaptureUI; - (void)JFX_capturePhoto; - (void)effectEditorView:(id)a0 didTransformEffect:(id)a1 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a2 relativeToBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a3; - (id)effectEditorView:(id)a0 textForEffect:(id)a1; - (void)JFX_orientationMonitorInterfaceOrientationNotification:(id)a0; - (void)CFX_applyAutoRotationCorrectionToEditorViews; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })CFX_cameraViewFinderUncroppedFrame; - (long long)CFX_captureFlashModeForCAMFlashMode:(long long)a0; - (void)CFX_executeBlockAfterNextFrameRendered:(id /* block */)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })CFX_generateAutoRotationCorrectionFrameWithInterfaceOrientation:(long long)a0; - (void)CFX_getCaptureDevice:(long long *)a0 captureDevicePosition:(long long *)a1 captureMode:(long long *)a2; - (void)CFX_hideAppStripUpperBackgroundView:(BOOL)a0; - (BOOL)CFX_isZoomAllowed; - (double)CFX_maxZoomForCamera; - (void)CFX_performFrontCameraZoomWithPinchGestureRecognizer:(id)a0; - (void)CFX_respondToShutterPress; - (void)CFX_setZoomSliderFromZoomFactor:(double)a0; - (id)effectEditorView:(id)a0 effectAtPoint:(struct CGPoint { double x0; double x1; })a1; - (void)JFX_orientationMonitorDeviceInterfaceOrientationNotification:(id)a0; - (BOOL)isEditingEffect; - (void)addEffect:(id)a0 allowImmediateTextEditing:(BOOL)a1; - (void)addOverlayEffect:(id)a0 atNormalizedPlanePoint:(struct CGPoint { double x0; double x1; })a1 scale:(double)a2 rotationAngle:(double)a3; - (void)addOverlayEffect:(id)a0 atScreenLocation:(struct CGPoint { double x0; double x1; })a1 atScreenSize:(struct CGSize { double x0; double x1; })a2 rotationAngle:(double)a3; - (void)applyAutoRotationCorrectionToEditorViewsWithTransitionCoordinator:(id)a0; - (void)applyRotationTransformForPortrait; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })bottomBarCTMControlsFrameForWindowOrientation:(long long)a0 bounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)cameraControlsViewControllerEffectsButtonWasTapped:(id)a0; - (void)cameraControlsViewControllerShutterButtonWasTapped:(id)a0; - (void)cameraControlsViewControllerSwitchCameraButtonWasTapped:(id)a0; - (void)cameraDidStart; - (void)cameraDidStop; - (long long)captureInterfaceOrientationForDisplay; - (void)completedVideoRecordWithURL:(id)a0 metadataURL:(id)a1; - (void)configureCTMUIForCaptureMode; - (void)configureCaptureControlsForOrientationWithAnimation:(BOOL)a0; - (void)configureUIForOrientation; - (void)configureUIForWindowOrientation:(long long)a0 bounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)configureWithControlsViewController:(id)a0; - (void)configureZoomControl; - (void)displayEffectEditorForEffect:(id)a0 forMode:(unsigned long long)a1; - (id)doneButtonForCameraControlsViewController:(id)a0; - (void)dynamicShutterControlStopLockedRecording; - (void)effectCompositionDidChange:(id)a0; - (void)effectEditorView:(id)a0 didBeginEditingTextForEffect:(id)a1; - (void)effectEditorView:(id)a0 didEditTextForEffect:(id)a1 newText:(id)a2; - (void)effectEditorView:(id)a0 didEndEditingEffect:(id)a1; - (void)effectEditorView:(id)a0 didEndEditingTextForEffect:(id)a1 wasCancelled:(BOOL)a2; - (void)effectEditorView:(id)a0 didMoveEffect:(id)a1 withTouchPoint:(struct CGPoint { double x0; double x1; })a2; - (void)effectEditorView:(id)a0 didRemoveEffect:(id)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })effectEditorView:(id)a0 frameForEffect:(id)a1 relativeToBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })effectEditorView:(id)a0 hitAreaBoundingFrameForEffect:(id)a1 adjustForMinimumSize:(BOOL)a2 relativeToBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a3; - (BOOL)effectEditorView:(id)a0 isEffectAtPoint:(struct CGPoint { double x0; double x1; })a1 effect:(id)a2; - (BOOL)effectEditorView:(id)a0 isFaceTrackingDataAvailableForEffect:(id)a1; - (BOOL)effectEditorView:(id)a0 isFaceTrackingEffect:(id)a1; - (unsigned long long)effectEditorView:(id)a0 maximumTextLengthForEffect:(id)a1; - (id)effectEditorView:(id)a0 overlayEffectFrameForEffect:(id)a1 relativeToBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2; - (BOOL)effectEditorView:(id)a0 presentCustomTextEditingUI:(id)a1; - (struct CGPoint { double x0; double x1; })effectEditorView:(id)a0 removeButtonPositionForEffect:(id)a1 relativeToBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2; - (BOOL)effectEditorView:(id)a0 shouldEditTextForEffect:(id)a1; - (struct CGPoint { double x0; double x1; })effectEditorView:(id)a0 spacingBetweenCenterPointOfEffect:(id)a1 point:(struct CGPoint { double x0; double x1; })a2 relativeToBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a3; - (id)effectEditorView:(id)a0 textEditingPropertiesForEffect:(id)a1 relativeToBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2; - (void)effectEditorViewDidBeginEditing:(id)a0; - (void)effectEditorViewDidEndEditing:(id)a0; - (BOOL)effectEditorViewShouldShowFaceReticle:(id)a0; - (void)enableAnimationForOverlayEffect:(id)a0; - (long long)faceTrackingInterfaceOrientationForfullScreenTextEditViewController:(id)a0; - (void)fadeInFaceInViewPromptLabel; - (void)fadeOutFaceInViewPromptLabel; - (id)flashButtonForCameraControlsViewController:(id)a0; - (void)flashButtonTapped:(id)a0; - (void)fullScreenTextEditViewController:(id)a0 didBeginAnimationBeforeEditingEffect:(id)a1 completion:(id /* block */)a2; - (void)fullScreenTextEditViewController:(id)a0 didBeginEditingEffect:(id)a1; - (void)fullScreenTextEditViewController:(id)a0 didFinishAnimationAfterEditingEffect:(id)a1 completion:(id /* block */)a2; - (void)fullScreenTextEditViewController:(id)a0 didFinishEditingByRemovingEffect:(id)a1; - (void)fullScreenTextEditViewController:(id)a0 didFinishEditingEffect:(id)a1 withUpdatedText:(id)a2; - (BOOL)fullScreenTextEditViewController:(id)a0 shouldDisableEditingAnimationForEffect:(id)a1; - (void)fullScreenTextEditViewController:(id)a0 willBeginAnimationAfterEditingEffect:(id)a1 updatedText:(id)a2; - (void)fullScreenTextEditViewController:(id)a0 willBeginAnimationBeforeEditingEffect:(id)a1; - (void)hideAnimojiFaceReticleForTrackingGain; - (void)insertCamBottomBar:(id)a0; - (BOOL)isFaceTrackingDataAvailable; - (BOOL)isMessagesOnPhone; - (void)layoutZoomControlForCTM; - (void)layoutZoomControlRelativeToBottomBarAndPreview:(id)a0; - (void)layoutZoomSliderRelativeToBottomBarAndPreview; - (void)layoutZoomUI; - (id)liveCaptureSnapshot; - (void)liveCaptureViewController:(id)a0 didRenderFrame:(id)a1; - (void)liveCaptureViewController:(id)a0 livePreviewDoubleTappedAtNormalizedCenterPoint:(struct CGPoint { double x0; double x1; })a1 gesture:(id)a2; - (void)liveCaptureViewController:(id)a0 livePreviewPannedAtNormalizedPoint:(struct CGPoint { double x0; double x1; })a1 gesture:(id)a2; - (void)liveCaptureViewController:(id)a0 livePreviewPinchedAtNormalizedCenterPoint:(struct CGPoint { double x0; double x1; })a1 gesture:(id)a2; - (void)liveCaptureViewController:(id)a0 livePreviewRotatedAtNormalizedCenterPoint:(struct CGPoint { double x0; double x1; })a1 gesture:(id)a2; - (void)liveCaptureViewController:(id)a0 livePreviewTappedAtNormalizedPoint:(struct CGPoint { double x0; double x1; })a1; - (BOOL)needsBlackBackgroundForCTMControls; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })overlayTransformForLocalViewfinder; - (BOOL)passThroughContainerView:(id)a0 shouldHandleTouchWithinView:(id)a1 atPoint:(struct CGPoint { double x0; double x1; })a2; - (BOOL)presentFullScreenTextEditorForEffect:(id)a0 insertingEffect:(BOOL)a1; - (void)removeAllEffectsAnimated:(BOOL)a0; - (void)removeAllEffectsOfType:(id)a0 animated:(BOOL)a1; - (void)removeAnimojiTrackingReticle; - (void)removeEffectEditorAnimated:(BOOL)a0; - (void)removeEffectsForCameraSwitch; - (void)removeLiveCaptureSnapshot; - (void)returnCTMUIToPhotoMode; - (void)saveLiveCaptureSnapshotForReview; - (void)setLiveCapturePresentationFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 withContentRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)setLiveCaptureViewController:(id)a0; - (void)setTorchModeForFlashMode:(long long)a0; - (void)setupAnimojiFaceReticleForTrackingLoss; - (void)setupFaceInViewPromptLabel; - (BOOL)shouldShowAnimojiFaceReticle; - (BOOL)shouldUseFaceTracking; - (void)showAnimojiFaceReticleForTrackingLoss; - (void)showLiveCaptureSnapshotBlurred:(BOOL)a0 animated:(BOOL)a1 completion:(id /* block */)a2; - (void)stopVideoRecording:(id /* block */)a0; - (void)toggleCTMFlashButton; - (void)updateAnimojiTrackingReticleAndLabelLayout; - (void)updateEffectEditorLayout; - (void)updateFullScreenTextEditorLayout; - (void)updateTopBar; - (void)updateUIForDevicePosition:(long long)a0; - (void)updateUIForDockMagnify:(BOOL)a0 dockHeightDelta:(double)a1; - (void)updateUIForVideoRecording:(BOOL)a0; - (void)updateZoomUIForCapturing:(BOOL)a0 animated:(BOOL)a1; - (void)updateZoomUIVisibility; - (void)willDropCameraFrame; - (void)zoomSliderValueDidChange:(id)a0 forEvent:(id)a1; @end