@class NSDictionary, NSString; @protocol AVVoiceControllerRecordDelegate, Endpointer; @interface AVVoiceController : NSObject { void *_impl; BOOL mClientAPIClutch; } @property (retain) id endpointerDelegate; @property int recordEndpointMode; @property double recordStartWaitTime; @property double recordInterspeechWaitTime; @property double recordEndWaitTime; @property id recordDelegate; @property float alertVolume; @property (readonly) unsigned long long alertStartTime; @property (readonly) NSDictionary *metrics; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (id)initWithError:(id *)a0; - (void)dealloc; - (struct shared_ptr { struct ControllerImpl *x0; struct __shared_weak_count *x1; })impl; - (void)enableMiniDucking:(BOOL)a0; - (void)finalize; - (void)handleRouteChange:(id)a0; - (void)handleInterruption:(id)a0; - (BOOL)activateAudioSessionForStream:(unsigned long long)a0 isPrewarm:(BOOL)a1 recordMode:(BOOL)a2 error:(id *)a3; - (BOOL)configureAlertBehaviorForStream:(id)a0 error:(id *)a1; - (void)deactivateAudioSessionForStream:(unsigned long long)a0 withOptions:(unsigned long long)a1 error:(id *)a2; - (float)getAveragePowerForStream:(unsigned long long)a0 forChannel:(unsigned long long)a1; - (id)initVoiceControllerForClient:(long long)a0 withError:(id *)a1; - (BOOL)playAlertSoundForType:(int)a0 overrideMode:(long long)a1; - (BOOL)prepareRecordForStream:(id)a0 error:(id *)a1; - (BOOL)setAlertSoundFromURL:(id)a0 forType:(int)a1; - (unsigned long long)setContext:(id)a0 streamType:(long long *)a1 error:(id *)a2; - (void)setRecordDelegate:(id)a0; - (BOOL)startRecordForStream:(id)a0 error:(id *)a1; - (BOOL)stopRecordForStream:(unsigned long long)a0 error:(id *)a1; - (void)teardownWithError:(id *)a0; - (BOOL)updateMeterForStream:(unsigned long long)a0; - (BOOL)IsDeviceAvailableInLocalRoute:(id)a0 error:(id *)a1; - (void)interspeechPointDetectedAtTime:(double)a0; - (void)stopRecordForStream:(unsigned long long)a0 completion:(id /* block */)a1; - (long long)_bringUp:(long long)a0 withError:(id *)a1; - (void)_teardownWithError:(id *)a0; - (BOOL)activateAudioSessionForStream:(unsigned long long)a0 isPrewarm:(BOOL)a1 error:(id *)a2; - (void)alertPlaybackFinishedWithSettings:(id)a0; - (void)beganRecording:(unsigned long long)a0 status:(int)a1; - (void)beginAudioSessionActivate:(BOOL)a0; - (void)beginRecordInterruptionWithContext:(id)a0; - (void)cleanSlateWithError:(id *)a0; - (void)configureAlertBehaviorForStream:(id)a0 completion:(id /* block */)a1; - (void)configureVoiceTriggerClientCompletionBlocks; - (void)deactivateAudioSessionForStream:(unsigned long long)a0 withOptions:(unsigned long long)a1 completion:(id /* block */)a2; - (void)deactivateAudioSessionWithOptions:(unsigned long long)a0; - (BOOL)enableSmartRoutingConsiderationForStream:(unsigned long long)a0 enable:(BOOL)a1 error:(id *)a2; - (void)enableTriangleModeForStream:(unsigned long long)a0 enable:(BOOL)a1 withCompletion:(id /* block */)a2; - (void)encodeError:(int)a0; - (void)endAudioSessionActivate:(BOOL)a0; - (void)endRecordInterruption; - (void)endpointDetectedAtTime:(double)a0; - (void)finishedRecording:(unsigned long long)a0 status:(int)a1; - (unsigned long long)getAlertStartTime; - (long long)getCurrentSessionState; - (long long)getCurrentSessionStateForStream:(unsigned long long)a0; - (long long)getCurrentStreamState:(unsigned long long)a0; - (void)getDeviceLatenciesForStream:(unsigned long long)a0 withCompletion:(id /* block */)a1; - (void)getInputChannelInfoForStream:(unsigned long long)a0 completion:(id /* block */)a1; - (float)getPeakPowerForStream:(unsigned long long)a0 forChannel:(unsigned long long)a1; - (void)getPlaybackRouteForStream:(unsigned long long)a0 withCompletion:(id /* block */)a1; - (id)getPlaybackRouteForStream:(unsigned long long)a0 withError:(id *)a1; - (double)getRecordBufferDurationForStream:(unsigned long long)a0; - (id)getRecordDeviceInfoForStream:(unsigned long long)a0; - (long long)getRecordModeForStream:(unsigned long long)a0; - (id)getRecordSettingsForStream:(unsigned long long)a0; - (void)handleMediaServerDeath:(id /* block */)a0; - (void)handleMediaServerReset:(id /* block */)a0; - (void)handlePluginDidPublishDevice:(id)a0 withDevice:(id)a1; - (void)handlePluginDidUnpublishDevice:(id)a0 withDevice:(id)a1; - (void)hardwareConfigChanged:(int)a0; - (BOOL)isDuckingSupportedOnPickedRouteForStream:(unsigned long long)a0 error:(id *)a1; - (BOOL)isMeteringEnabledForStream:(unsigned long long)a0; - (id)mockPluginEndpoint; - (void)notifyEventOccured:(unsigned long long)a0 error:(id)a1; - (void)notifyStreamInvalidated:(unsigned long long)a0; - (void)playAlert:(int)a0 withOverride:(long long)a1 completion:(id /* block */)a2; - (void)prepareRecordForStream:(id)a0 completion:(id /* block */)a1; - (id)recordDelegate; - (void)removeSessionNotifications:(id)a0; - (void)removeStream:(unsigned long long)a0 completion:(id /* block */)a1; - (void)sessionCleanup; - (void)sessionSetup; - (BOOL)setAnnounceCallsEnabledForStream:(unsigned long long)a0 enable:(BOOL)a1; - (void)setContext:(id)a0 completion:(id /* block */)a1; - (unsigned long long)setContext:(id)a0 error:(id *)a1; - (BOOL)setContextForStream:(id)a0 forStream:(unsigned long long)a1 error:(id *)a2; - (BOOL)setDuckOthersForStream:(unsigned long long)a0 withSettings:(id)a1 error:(id *)a2; - (BOOL)setRecordModeForStream:(unsigned long long)a0 recordMode:(long long)a1 error:(id *)a2; - (void)setRecordStatusChangeBlock:(id /* block */)a0; - (void)setSessionNotifications:(id)a0; - (void)startKeepAliveQueueForStream:(unsigned long long)a0 completion:(id /* block */)a1; - (void)startRecordForStream:(id)a0 completion:(id /* block */)a1; - (void)startRecordWithSettings:(id)a0 completion:(id /* block */)a1 alertCompletion:(id /* block */)a2 audioCallback:(id /* block */)a3; - (void)startpointDetected; - (void)stopKeepAliveQueueForStream:(unsigned long long)a0 completion:(id /* block */)a1; @end