@class ARDirectionalLightEstimate, NSObject; @protocol OS_dispatch_queue, OS_dispatch_semaphore; @interface ARFaceLightEstimationTechnique : ARTechnique { NSObject *_resultSemaphore; ARDirectionalLightEstimate *_lastLightEstimate; float _lightIntensity; float _temperature; struct ExponentialSmoother { struct optional { union { char __null_state_; float __val_; } ; BOOL __engaged_; } state; } _smoother; NSObject *_lightEstimationQueue; NSObject *_estimatingSemaphore; struct FacialLightEstimation { struct Matrix { float *m_data; unsigned long long m_capacity; unsigned int m_rows; } m_validSampleIntensities; struct vector> { int *__begin_; int *__end_; struct __compressed_pair> { int *__value_; } __end_cap_; } m_validChromaSampleIDS; struct vector> { int *__begin_; int *__end_; struct __compressed_pair> { int *__value_; } __end_cap_; } m_sampleIndices_all; struct Matrix { float *m_data; unsigned long long m_capacity; unsigned int m_rows; unsigned int m_cols; } m_validRtfs; struct shared_ptr { struct PrecomputedFaceData *__ptr_; struct __shared_weak_count *__cntrl_; } m_precomputedFaceData; struct ExponentialSmoother> { struct optional> { union { char __null_state_; struct Matrix { float m_data[9]; } __val_; } ; BOOL __engaged_; } state; } m_smoother; struct vector> { unsigned long long *__begin_; unsigned long long *__end_; struct __compressed_pair> { unsigned long long *__value_; } __end_cap_; } m_inliers; } _faceLightEstimator; float _shSmoothingAlpha; } + (float)_computeShSmoothingAlpha:(double)a0; + (struct shared_ptr { struct FaceTrackingData *x0; struct __shared_weak_count *x1; })_transformFaceTrackingData:(id)a0; - (id)init; - (void)dealloc; - (id)processData:(id)a0; - (id).cxx_construct; - (void).cxx_destruct; - (void)_processFaceDataInBackground:(id)a0 pixelBuffer:(struct __CVBuffer { } *)a1 lightIntensity:(float)a2 timestamp:(double)a3; - (void)requestResultDataAtTimestamp:(double)a0 context:(id)a1; - (unsigned long long)requiredSensorDataTypes; @end