@class FTTapToBox, FTNetworkDescriptor, FTCinematicTracker, FTTapToTrackPreprocessor; @protocol MTLCommandQueue, FTScaling; @interface FTCinematicTapToTrack : NSObject { id _commandQueue; id _scaler; FTTapToTrackPreprocessor *_preprocessor; FTNetworkDescriptor *_exemplarNetDesc; FTNetworkDescriptor *_instanceNetDesc; struct unique_ptr> { struct __compressed_pair> { struct EspressoNet *__value_; } __ptr_; } _exemplarNet; struct unique_ptr> { struct __compressed_pair> { struct EspressoNet *__value_; } __ptr_; } _instanceNet; struct PixelBufferTensor { void /* function */ **_vptr$Tensor; int type_; struct TensorShape { struct vector> { unsigned long long *__begin_; unsigned long long *__end_; struct __compressed_pair> { unsigned long long *__value_; } __end_cap_; } sizes_; } shape_; struct shared_ptr { struct TensorStorage *__ptr_; struct __shared_weak_count *__cntrl_; } storage_; } _exemplarCrop; struct PixelBufferTensor { void /* function */ **_vptr$Tensor; int type_; struct TensorShape { struct vector> { unsigned long long *__begin_; unsigned long long *__end_; struct __compressed_pair> { unsigned long long *__value_; } __end_cap_; } sizes_; } shape_; struct shared_ptr { struct TensorStorage *__ptr_; struct __shared_weak_count *__cntrl_; } storage_; } _instanceCrop; FTTapToBox *_tapToBox; FTCinematicTracker *_tracker; } + (id)tracker; - (BOOL)reset; - (id).cxx_construct; - (void).cxx_destruct; - (struct { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; double x1; })predictRectForPoint:(struct CGPoint { double x0; double x1; })a0 inColorBuffer:(struct __CVBuffer { } *)a1; - (BOOL)startTrackingRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 colorBuffer:(struct __CVBuffer { } *)a1; - (struct { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; double x1; })stepTrackingWithFrame:(struct __CVBuffer { } *)a0; - (struct EspressoConfig { struct vector> { void *x0; void *x1; struct __compressed_pair> { void *x0; } x2; } x0; struct optional { union { char x0; int x1; } x0; BOOL x1; } x1; int x2; int x3; int x4; struct optional { union { char x0; int x1; } x0; BOOL x1; } x5; struct optional { union { char x0; void *x1; } x0; BOOL x1; } x6; struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **x0; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long x0; } x0; } x1; } x0; } x0; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *x0; } x0; } x1; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long x0; } x2; struct __compressed_pair, std::equal_to, std::hash>> { float x0; } x3; } x0; } x7; struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; } x8; })_espressoConfigFromDescriptor:(id)a0 engine:(const void *)a1; - (id)_maybeFetchTrackByCommittingState:(id)a0; - (void)_preprocessBuffer:(struct __CVBuffer { } *)a0 andValidateState:(id)a1 isOp:(long long)a2; - (struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; })_resolveNetworkPath:(id)a0; - (void)_setupNetworksWithEngine:(const void *)a0; - (void)_setupScalerWithBackend:(int)a0; - (BOOL)_unsafeStartTrackingRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 colorBuffer:(struct __CVBuffer { } *)a1; - (struct { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; double x1; })_unsafeStepTrackingWithFrame:(struct __CVBuffer { } *)a0; - (id)initWithEspressoEngine:(int)a0 scalingBackend:(int)a1 commandQueue:(id)a2; - (BOOL)isTrackingActive; @end