@class NSDictionary, NSFileHandle, SASResultCandidate, CSEndpointerMetrics, CSSpeechController, AFClientConfiguration, NSString, AFWatchdogTimer, CSAudioDeviceInfo, NSArray, AFSpeechSynthesisRecord, CSSiriAudioFileWriter, NSMutableDictionary, CSEndpointDelayReporter, CSSiriAudioPlaybackService, NSObject, CSSiriSpeechRecordingContext, CSSiriAudioActivationInfo, CSAudioSessionController, AFExperimentContext, NSUUID, NSXPCConnection, AFBluetoothWirelessSplitterSessionStateObserver, CSSiriAcousticFingerprinter; @protocol OS_dispatch_group, CSSiriSpeechCapturingDelegate, OS_dispatch_source, OS_dispatch_queue, CSEndpointAnalyzer; @interface CSSiriSpeechRecorder : NSObject { id _delegate; NSObject *_queue; BOOL _isSpeechControllerInitialized; CSSpeechController *_speechController; CSAudioSessionController *_audioSessionController; CSSiriAudioPlaybackService *_audioPlaybackService; long long _packetCount; long long _speechCapturingMode; long long _recordingAlertsConfiguration; NSObject *_extendedEndpointTimer; id _endpointAnalyzer; CSSiriSpeechRecordingContext *_context; CSSiriAudioActivationInfo *_currentActivationInfo; CSSiriAudioActivationInfo *_pendingActivationInfo; CSAudioDeviceInfo *_currentAudioDeviceInfo; BOOL _fingerprintingEnabled; CSSiriAcousticFingerprinter *_fingerprinter; long long _audioFileType; BOOL _needsAVVCLPCMCallbacks; BOOL _hasReceivedEmptyLPCMRecordBuffer; NSFileHandle *_audioFileHandle; CSSiriAudioFileWriter *_audioFileWriter; long long _startEvent; long long _recordingState; long long _endpointerOperationMode; BOOL _didReceiveFirstBuffer; BOOL _didReceiveLastBuffer; BOOL _didDetectStartpoint; BOOL _didDetectEndpoint; BOOL _didEnterTwoShotMode; BOOL _didFakeTwoShotWithAlert; NSUUID *_fakeTwoShotTTSPromptUUID; BOOL _serverDidRecognizeSpeech; BOOL _fingerprintWasRecognized; BOOL _serverDidEndpoint; BOOL _didTimeout; BOOL _wasCanceled; BOOL _suppressRecordingStoppedAlert; BOOL _isRecordingUsingBTRoute; double _twoShotStartTime; BOOL _didPerformTwoShotPrompt; BOOL _forceSuccessAlertOnStop; BOOL _isDriving; BOOL _shouldDisableSpeechPacketGeneration; BOOL _hybridUODEnabled; double _startRecordingTimestamp; double _firstBufferTimestamp; unsigned long long _firstBufferHostTime; unsigned long long _estimatedSpeechEndHostTime; double _lastPrepareTimestamp; double _accumulatedBufferDuration; NSDictionary *_speechRecognizedContextForServerEndpointInstrumentation; double _skippedSamplesTimeInSec; NSObject *_recordingWillStartGroup; unsigned long long _stopRecordingReason; unsigned long long _stopRecordingMachContinuousTime; struct OpaqueAudioConverter { } *_decoder; double _expectedFirstBufferTimestamp; BOOL _isOpus; NSString *_recordDevice; BOOL _audioDuckingEnabled; NSXPCConnection *_speechRecordingEventListenerConnection; AFWatchdogTimer *_fakeTwoShotTTSPromptWatchdogTimer; unsigned long long _lastAudioRecordBufferStartTime; unsigned long long _lastAudioRecordBufferReceiptTime; CSEndpointerMetrics *_lastEndpointerMetrics; CSEndpointDelayReporter *_endpointDelayReporter; NSArray *_lastEndpointHintFeatures; id /* block */ _lastEndpointHintCompletion; SASResultCandidate *_lastEndpointHintRC; BOOL _lastEndpointHintRCProcessedForMitigation; AFSpeechSynthesisRecord *_mostRecentSpeechSynthesisRecord; AFClientConfiguration *_currentClientConfiguration; NSObject *_alertPlaybackGroup; NSMutableDictionary *_numberOfAVVCAlertPlaybacksByType; AFBluetoothWirelessSplitterSessionStateObserver *_bluetoothWirelessSplitterSessionStateObserver; AFExperimentContext *_experimentContext; NSUUID *_mhUUID; } @property (nonatomic) BOOL suppressInterruptionEndedNotifications; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)endpointer:(id)a0 didDetectHardEndpointAtTime:(double)a1 withMetrics:(id)a2; - (void)performBlockAfterAlerts:(id /* block */)a0 timeout:(double)a1; - (void)_clearEndpointHint; - (void)endpointer:(id)a0 didDetectStartpointAtTime:(double)a1; - (id)_convertToAFSpeechPackage:(id)a0; - (id)_fingerprinter; - (void)setFingerprintingEnabled:(BOOL)a0; - (id)_getFanInfoArray; - (void)dealloc; - (void)updateEndpointHintForRC:(id)a0 forceAccept:(BOOL)a1 completion:(id /* block */)a2; - (void)_handleFakeTwoShotPromptTimeoutWithUUID:(id)a0; - (void)_setAudioDuckingEnabled:(BOOL)a0; - (id)_currentMHUUID:(BOOL)a0; - (void)prepareForMode:(long long)a0; - (void)speechControllerEndRecordInterruption:(id)a0; - (void)_setupAudioFileWritingForSpeechController:(id)a0 info:(id)a1 context:(id)a2; - (void)updateSpeechSynthesisRecord:(id)a0; - (void)audioSessionController:(id)a0 didReceiveAudioSessionInterruptionNotificationWithUserInfo:(id)a1; - (void)_resetSpeechController; - (void)_speechControllerRequestsOperation:(unsigned long long)a0 forReason:(unsigned long long)a1 completion:(id /* block */)a2; - (void)_checkIfLastEndpointHintShouldBeAccepted:(BOOL)a0; - (void)_speechControllerDidReceiveFirstAudioRecordBufferWithHostTime:(unsigned long long)a0 atHostTime:(unsigned long long)a1 mhUUID:(id)a2; - (void)speechControllerBeginRecordInterruption:(id)a0 withContext:(id)a1; - (void)speechControllerRecordHardwareConfigurationDidChange:(id)a0 toConfiguration:(long long)a1; - (void)_updateRecordBufferDuration; - (void)_handleFakeTwoShotPromptCallbackWithUUID:(id)a0 timestamp:(double)a1 duration:(double)a2 error:(id)a3; - (void)_playStopAlertIfNecessaryForReason:(long long)a0 endpointMode:(long long)a1 error:(id)a2; - (void)_logVoiceTriggerInfo:(id)a0 withMHUUID:(id)a1; - (void)_setAlertsIfNeeded; - (BOOL)_prepareSpeechControllerWithOptions:(unsigned long long)a0 error:(id *)a1; - (void)speechControllerRecordBufferAvailable:(id)a0 buffers:(id)a1 durationInSec:(float)a2 recordedAt:(unsigned long long)a3 audioDeviceInfo:(id)a4; - (id)recordingInfoForPreheatWithEvent:(long long)a0; - (void)speechControllerDidUpdateSmartSiriVolume:(id)a0 forReason:(unsigned long long)a1; - (void)speechControllerDidStopRecording:(id)a0 audioDeviceInfo:(id)a1 forReason:(long long)a2 estimatedSpeechEndHostTime:(unsigned long long)a3; - (void)_updateAudioContextWithInfo:(id)a0 reason:(id)a1; - (void)_cancelExtendedEndpointTimer; - (void)_scheduleExtendedEndpointTimer; - (void)audioSessionController:(id)a0 didReceiveAudioSessionOwnerResetNotification:(id)a1; - (BOOL)startSpeechCaptureWithContext:(id)a0 willStartHandler:(id /* block */)a1 error:(id *)a2; - (BOOL)_shouldEmitInstrumentation; - (id)_currentRecordDeviceInfo; - (void)_playPhaticWithCompletion:(id /* block */)a0; - (void)speechControllerLPCMRecordBufferAvailable:(id)a0 buffer:(id)a1 recordedAt:(unsigned long long)a2; - (void)setClientConfiguration:(id)a0; - (void)_setDictationAudioModeEnabled:(BOOL)a0; - (void)setSpeechRecordingEventListeningEndpoint:(id)a0; - (void)acousticFingerprinter:(id)a0 hasFingerprint:(id)a1 duration:(double)a2; - (void)preheatWithOption:(id)a0; - (int)_mapInstrumentationEndpointTypeFromStopRecordingReason:(union { struct { unsigned short x0; unsigned short x1; } x0; unsigned int x1; })a0; - (void)setAudioFileType:(long long)a0; - (void)speechControllerDidFinishAlertPlayback:(id)a0 ofType:(long long)a1 error:(id)a2; - (void)audioSessionController:(id)a0 didReceiveAudioSessionMediaServicesWereResetNotificationWithUserInfo:(id)a1; - (BOOL)prepareSpeechCaptureWithOptions:(unsigned long long)a0 error:(id *)a1; - (void)_setEndpointStyle:(long long)a0; - (id)_speechRecordingEventListener; - (void)setSpeechWasRecognizedForElapsedTime:(double)a0 isFinal:(BOOL)a1; - (void)_reportServerEndpointMetricsIfNeeded; - (void)_logAudioMetrics:(id)a0 mhUUID:(id)a1; - (unsigned int)fetchAudioSessionID; - (void)setFingerprintWasRecognized; - (int)convertSISchemaAudioInputRouteToMHRoute:(int)a0 withRecordingInfo:(id)a1; - (void)speechControllerRequestsOperation:(unsigned long long)a0 forReason:(unsigned long long)a1; - (id)currentVTSatScore; - (void)_speechControllerDidStopRecording:(id)a0 audioDeviceInfo:(id)a1 forReason:(long long)a2 estimatedSpeechEndHostTime:(unsigned long long)a3 errorCodeOverride:(long long)a4 underlyingError:(id)a5; - (id)_recordingInfoForEvent:(long long)a0 audioAlertStyle:(long long)a1 includeBTInfo:(BOOL)a2 includeRecordDeviceInfo:(BOOL)a3; - (void)suppressUtteranceGradingIfRequired; - (id)fetchRecordingInfo; - (void)_speechControllerDidStartRecording:(id)a0 successfully:(BOOL)a1 error:(id)a2; - (void)_hardEndpointWasDetectedWithMetrics:(id)a0 atTime:(double)a1; - (void)audioSessionController:(id)a0 didReceiveAudioSessionRouteChangeNotificationWithUserInfo:(id)a1; - (void)languageDetectorDidDetectLanguageWithConfidence:(id)a0 confidence:(id)a1 isConfident:(BOOL)a2; - (unsigned int)_audioDeviceID; - (void)cancelSpeechCaptureSuppressingAlert:(BOOL)a0; - (void)suspendAutomaticEndpointingInRange:(struct AFTimeRange { double x0; double x1; })a0; - (BOOL)_checkAudioLoggingLimits:(id)a0; - (void).cxx_destruct; - (void)releaseAudioSession; - (void)setSpeechRecognizedContext:(id)a0; - (void)_setSpeechCapturingMode:(long long)a0; - (void)speechController:(id)a0 didSetAudioSessionActive:(BOOL)a1; - (void)forceSuccessAudioAlertOnStop; - (void)speechController:(id)a0 willSetAudioSessionActive:(BOOL)a1; - (void)preheatRecognizerWithOption:(id)a0; - (unsigned int)_audioSessionID; - (id)convertVirtualAudioSubTypeToString:(unsigned int)a0; - (BOOL)_shouldPlaySummonedToneOnTopCapInvocationOnHorseman; - (id)_mhUUIDFromSpeechRequestOptions:(id)a0; - (void)updateServerEndpointFeatures:(id)a0; - (BOOL)_prepareDirectoryAtPath:(id)a0; - (BOOL)_shouldPlayTwoShotToneFeedbackOnHorseman; - (void)prepareForMode:(long long)a0 withOptions:(id)a1; - (void)setAudioFileHandle:(id)a0; - (void)_logBluetoothStateWithMHUUID:(id)a0; - (void)setIsDriving:(BOOL)a0; - (id)_currentPlaybackRoute; - (void)speakerIdentificationDidDetectSpeakerWithScores:(id)a0; - (id)fetchAudioDeviceInfo; - (void)_performTwoShotPromptForType:(long long)a0 withOverride:(long long)a1 atTime:(double)a2; - (id)_currentRecordRoute; - (void)disableSpeechPacketGeneration:(BOOL)a0; - (id)_currentRecordingInfo; - (void)playRecordingStartAlert; - (void)_speechControllerDidReceiveLastAudioRecordBuffer:(id)a0 forReason:(long long)a1 estimatedSpeechEndHostTime:(unsigned long long)a2 isRecordingStopped:(BOOL)a3; - (BOOL)_startAudioPlaybackRequest:(id)a0 options:(unsigned long long)a1 completion:(id /* block */)a2; - (void)setEndpointerDelayedTrigger:(BOOL)a0; - (void)setHybridUODEnabled:(BOOL)a0; - (void)setDelegate:(id)a0; - (void)_updateAudioDeviceInfo:(id)a0 forReason:(id)a1 forcesUpdate:(BOOL)a2; - (void)speechControllerDidDeliverLastBuffer:(id)a0 forReason:(long long)a1 estimatedSpeechEndHostTime:(unsigned long long)a2; - (void)_setEndpointerOperationMode:(long long)a0 forceUpdate:(BOOL)a1; - (BOOL)_updateAudioContextWithPendingInfoForReason:(id)a0; - (void)_stopRecordingWithReason:(union { struct { unsigned short x0; unsigned short x1; } x0; unsigned int x1; })a0 hostTime:(unsigned long long)a1; - (void)speechControllerRequestsOperation:(unsigned long long)a0 forReason:(unsigned long long)a1 completion:(id /* block */)a2; - (void)setEARLanguageDetectorSpeechRequestId:(id)a0; - (id)initWithQueue:(id)a0 speechController:(id)a1 audioSessionController:(id)a2 audioPlaybackService:(id)a3 experimentContext:(id)a4; - (BOOL)_updateAudioContextToPostVoiceForReason:(id)a0; - (void)_logFanState; - (void)audioSessionController:(id)a0 didReceiveAudioSessionMediaServicesWereLostNotificationWithUserInfo:(id)a1; - (id)_speechController; - (void)audioSessionController:(id)a0 didReceiveAudioSessionOwnerLostNotification:(id)a1; - (id)getAudioRouteInstrumentationWithRecordingInfo:(id)a0; - (void)setEndpointerThreshold:(double)a0; - (void)_playAudioAlert:(long long)a0; - (void)_setLanguageDetectorDelegateIfRequired; - (void)speechControllerDidStartRecording:(id)a0 audioDeviceInfo:(id)a1 successfully:(BOOL)a2 error:(id)a3; - (void)_enforceEndpointHintWithMitigation:(BOOL)a0; - (void)stopSpeechCaptureForEvent:(long long)a0 suppressAlert:(BOOL)a1 hostTime:(unsigned long long)a2; - (void)getLastStartpointTimestampAndCurrentTime:(id /* block */)a0; - (BOOL)_setAudioContextWithInfo:(id)a0 forReason:(id)a1; - (void)_stopRecordingForEndpointReason:(union { struct { unsigned short x0; unsigned short x1; } x0; unsigned int x1; })a0 withEndpointMetrics:(id)a1; - (void)setSpeechRequestOptions:(id)a0; - (id)_speechControllerWithError:(id *)a0; - (void)enforcePreviousEndpointHint; - (void)eagerlyInitializeAudioRecording; - (void)speechControllerDidDetectVoiceTriggerTwoShot:(id)a0 atTime:(double)a1 wantsAudibleFeedback:(BOOL)a2; @end