@class NSArray, TUVideoEffect, CALayer, AVCaptureDevice, NSObject; @protocol TUFeatureFlags, TUVideoDeviceControllerProvider, TUVideoEffectsProvider, OS_dispatch_queue; @interface TUVideoDeviceController : NSObject @property (readonly, nonatomic) NSObject *serialQueue; @property (readonly, nonatomic) id provider; @property (readonly, nonatomic) id featureFlags; @property (nonatomic) BOOL wantsPreview; @property (nonatomic) BOOL hasRefreshedPreviewAfterError; @property (copy, nonatomic) id /* block */ previewStartBlock; @property (nonatomic) BOOL hasBeganRetryingAfterUninitializedClientError; @property (nonatomic) long long uninitializedClientRetrySeconds; @property (retain, nonatomic) AVCaptureDevice *currentInputDevice; @property (nonatomic) int currentVideoOrientation; @property (readonly, copy, nonatomic) NSArray *inputDevices; @property (readonly, nonatomic, getter=isPreviewRunning) BOOL previewRunning; @property (readonly, nonatomic, getter=isCinematicFramingEnabled) BOOL cinematicFramingEnabled; @property (readonly, nonatomic) BOOL currentInputSupportsCinematicFraming; @property (nonatomic, getter=isReactionEffectGestureEnabled) BOOL reactionEffectGestureEnabled; @property (nonatomic, getter=isStudioLightEnabled) BOOL studioLightEnabled; @property (readonly, nonatomic) BOOL currentInputSupportsStudioLight; @property (readonly, nonatomic) BOOL currentInputIsExternal; @property (readonly, nonatomic) BOOL currentInputSupportsReactionEffects; @property (readonly, nonatomic) BOOL supportsCameraBlur; @property (nonatomic) BOOL cameraBlurEnabled; @property (nonatomic) int currentBackgroundBlurControlMode; @property (readonly, nonatomic) BOOL hasAvailableDeskViewCameras; @property (retain, nonatomic) CALayer *localFrontLayer; @property (retain, nonatomic) CALayer *localBackLayer; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } localScreenContentsRect; @property (readonly, nonatomic) struct CGSize { double x0; double x1; } localVideoPortraitAspectRatio; @property (readonly, nonatomic) struct CGSize { double x0; double x1; } localScreenPortraitAspectRatio; @property (readonly, nonatomic) struct CGSize { double x0; double x1; } localVideoLandscapeAspectRatio; @property (readonly, nonatomic) struct CGSize { double x0; double x1; } localScreenLandscapeAspectRatio; @property (retain, nonatomic) TUVideoEffect *currentVideoEffect; @property (readonly, copy, nonatomic) NSArray *availableVideoEffects; @property (nonatomic, getter=isFollowSystemCameraEnabled) BOOL followSystemCameraEnabled; @property (nonatomic, getter=shouldIgnoreStartPreview) BOOL ignoreStartPreview; + (void)prewarm; + (int)_tuOrientationForVideoOrientation:(int)a0; + (int)_videoOrientationForTUOrientation:(int)a0; - (void)setCinematicFramingEnabled:(BOOL)a0; - (id)init; - (void)setCameraZoomFactor:(double)a0; - (void).cxx_destruct; - (id)debugDescription; - (id)initWithSerialQueue:(id)a0; - (void)startPreview; - (void)stopPreview; - (void)captureDevicesChangedForProvider:(id)a0; - (void)didPausePreviewForProvider:(id)a0; - (void)didStartPreviewForProvider:(id)a0; - (void)didStopPreviewForProvider:(id)a0; - (void)flipCamera; - (void)getSnapshot; - (id)initWithProvider:(id)a0 serialQueue:(id)a1 featureFlags:(id)a2; - (id)landscapeScreenAttributes; - (void)noteBeginAnimationToPIP; - (void)noteBeginAnimationToPreview; - (void)noteEndAnimationToPIP; - (void)noteEndAnimationToPreview; - (void)pausePreview; - (id)portraitScreenAttributes; - (void)provider:(id)a0 cameraBlurEnabledDidChange:(BOOL)a1; - (void)provider:(id)a0 cameraCinematicFramingAvailabilityDidChange:(BOOL)a1; - (void)provider:(id)a0 cameraCinematicFramingEnabledDidChange:(BOOL)a1; - (void)provider:(id)a0 cameraDidBecomeAvailableForUniqueID:(id)a1; - (void)provider:(id)a0 cameraZoomAvailabilityDidChange:(BOOL)a1; - (void)provider:(id)a0 didChangeLocalCameraUID:(id)a1; - (void)provider:(id)a0 didChangeLocalVideoAttributes:(id)a1; - (void)provider:(id)a0 didGetSnapshot:(id)a1; - (void)provider:(id)a0 didReceiveErrorFromCameraUniqueID:(id)a1 error:(id)a2; - (void)provider:(id)a0 didReceiveFirstPreviewFrameFromCameraUniqueID:(id)a1; - (void)provider:(id)a0 reactionEffectsEnabledDidChange:(BOOL)a1; - (void)provider:(id)a0 studioLightEnabledDidChange:(BOOL)a1; - (void)provider:(id)a0 systemPreferredCameraUIDDidChange:(id)a1; - (void)provider:(id)a0 userPreferredCameraUIDDidChange:(id)a1; - (void)rampCameraZoomFactor:(double)a0 withRate:(double)a1; - (void)retryPreviewAfterError; - (void)setCurrentInputDevice:(id)a0 isUserPreferred:(BOOL)a1; - (void)setLocalPortraitAspectRatio:(struct CGSize { double x0; double x1; })a0 localLandscapeAspectRatio:(struct CGSize { double x0; double x1; })a1; @end