@class NSString, NSArray, VATSpeechRecognizer, VATConfiguration, FeatureExtractObjc; @protocol VATKeywordSpotterDelegate; @interface VATKeywordSpotter : NSObject { NSArray *_keywordsWithPhonemes; FeatureExtractObjc *fe; id _delegate; BOOL _started; void *_floatFstDecoder; 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 **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _phraseThresholds; int _processedFrameCount; NSString *_filePath; double _fileCurrentDuration; double _startTime; long long _fileByteCount; BOOL _isRunning; struct vector> { struct FstSpotterResults *__begin_; struct FstSpotterResults *__end_; struct __compressed_pair> { struct FstSpotterResults *__value_; } __end_cap_; } _keywordResults; int _frameCountSinceKeywordDetected; } @property (nonatomic) VATConfiguration *configuration; @property (nonatomic) BOOL audioDebuggingEnabled; @property (nonatomic) BOOL batchDecodeEnabled; @property (nonatomic) VATSpeechRecognizer *recognizer; @property (nonatomic) BOOL secondPassEnabled; @property (copy, nonatomic) NSString *customSecondPassModelPath; @property (nonatomic) BOOL preKeywordSilenceCheckEnabled; @property (nonatomic) BOOL duringKeywordSilenceCheckEnabled; @property (nonatomic) BOOL postKeywordSilenceCheckEnabled; + (id)pronounciationsFor:(id)a0 wordSeparator:(id)a1; - (void)dealloc; - (void)start; - (id).cxx_construct; - (void)stop; - (void).cxx_destruct; - (void)addAudioSamples:(const void *)a0 count:(int)a1; - (void)setStreamingMode:(BOOL)a0; - (void)updateWithKeywordsWithPhonemes:(id)a0; - (void)_acousticCallback:(id)a0 rows:(long long)a1 cols:(long long)a2; - (void)_categoryDealloc; - (id)_handleAudioDebuggingForKeyword:(id)a0 result:(void *)a1 buffer:(id)a2; - (id)_handleSecondPass:(id)a0 expectedKeyword:(id)a1 duration:(double *)a2 secondPassAudio:(id *)a3; - (void)_handleValidResult:(void *)a0; - (void)_initializeDecoderForKeywordsWithPhonemes:(id)a0; - (BOOL)_isDetectionValidForResult:(void *)a0 reason:(id *)a1; - (void)_postKeywordSilenceProcessingWithResults:(id)a0 rows:(long long)a1 cols:(long long)a2; - (id)_replaceModelPathWithAbsolutePathForTest:(id)a0; - (id)_thresholdsForAllPhrases; - (void)addAudioSamples:(const void *)a0 count:(int)a1 isFloat:(BOOL)a2; - (void)addAudioSamples:(const void *)a0 count:(int)a1 isFloat:(BOOL)a2 filePath:(id)a3 byteCount:(long long)a4 currentDuration:(double)a5; - (void)addAudioSamples:(const void *)a0 length:(int)a1; - (id)init:(id)a0 delegate:(id)a1 silenceLookback:(int)a2 silenceExpect:(int)a3 batchDecode:(BOOL)a4 enableAudioDebugging:(BOOL)a5; - (id)initWithConfig:(id)a0 keywords:(id)a1 delegate:(id)a2; - (id)initWithConfig:(id)a0 keywordsWithPhonemes:(id)a1 delegate:(id)a2; - (id)initWithConfig:(id)a0 keywordsWithPhonemes:(id)a1 delegate:(id)a2 silenceLookback:(int)a3 silenceExpect:(int)a4 batchDecode:(BOOL)a5 enableAudioDebugging:(BOOL)a6; - (id)initWithKeywords:(id)a0 delegate:(id)a1; - (id)initWithKeywordsWithPhonemes:(id)a0 delegate:(id)a1; - (BOOL)isValidRecognizer; - (void)setSecondPassEnabled:(BOOL)a0 customAssetPath:(id)a1; - (void)updateWithKeywords:(id)a0; @end