@class NSString, NSArray, NSMutableDictionary, NSObject, NSMutableArray; @protocol OS_voucher, TTSSpeechSynthesizerDelegate, OS_dispatch_queue; @interface TTSSpeechSynthesizer : NSObject <TTSSpeechRequestDelegate> { long long _footprint; id<TTSSpeechSynthesizerDelegate> _delegate; BOOL _useSharedSession; BOOL _audioSessionIDIsValid; NSMutableDictionary *_channels; NSObject<OS_dispatch_queue> *_queue; NSMutableArray *_speechRequests; struct { unsigned char delegateStartWithRequest : 1; unsigned char delegateFinishWithRequest : 1; unsigned char delegateFinishWithPhonemesSpokenWithRequest : 1; unsigned char delegatePauseWithRequest : 1; unsigned char delegateContinueWithRequest : 1; unsigned char delegateWillSpeakWithRequest : 1; unsigned char delegateDidEncounterMarkerWithRequest : 1; unsigned char willUseInput : 1; } _synthesizerFlags; unsigned long long _synthesizerInstanceID; NSArray *_outputChannels; NSMutableDictionary *_testingLastRuleConversion; } @property (retain, nonatomic) NSObject<OS_voucher> *voucher; @property (weak, nonatomic) id<TTSSpeechSynthesizerDelegate> delegate; @property (retain, nonatomic) NSString *speechSource; @property (retain, nonatomic) NSObject<OS_dispatch_queue> *delegateTargetQueue; @property (nonatomic) float rate; @property (nonatomic) float pitch; @property (nonatomic) float volume; @property (retain, nonatomic) NSString *voiceIdentifier; @property (retain, nonatomic) NSString *bundleIdentifier; @property (readonly, nonatomic) NSString *resolvedVoiceIdentifier; @property (nonatomic) unsigned long long requestClientIdentifier; @property (nonatomic) void *speakingRequestClientContext; @property (nonatomic) BOOL supportsAccurateWordCallbacks; @property (nonatomic) BOOL skipLuthorRules; @property (nonatomic) unsigned int audioQueueFlags; @property (readonly, nonatomic) unsigned int audioSessionID; @property (copy, nonatomic) NSArray *userSubstitutions; @property (copy, nonatomic) NSArray *phonemeSubstitutions; @property (copy, nonatomic) id /* block */ audioBufferCallback; @property (retain, nonatomic) NSArray *outputChannels; @property (nonatomic) BOOL ignoreSubstitutions; @property (nonatomic) BOOL synthesizeSilently; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)testingSetAllVoices:(id)a0; + (id)combinedProsodyMarkupForIdentifier:(id)a0 string:(id)a1 rate:(id)a2 pitch:(id)a3 volume:(id)a4; + (id)synthesizerForSynthesizerID:(unsigned long long)a0; + (id)supportedIPAPhonemeLanguages; + (void)initialize; + (id)voiceAssetsForTesting; + (id)_speechVoiceForIdentifier:(id)a0 language:(id)a1 footprint:(long long)a2; + (id)speechMarkupStringForType:(long long)a0 forIdentifier:(id)a1 string:(id)a2; + (id)availableLanguageCodes; + (id)remapVoiceIdentifier:(id)a0; + (void)setVoiceAssetsForTesting:(id)a0; + (id)genericMarkMarkupForIdentifier:(id)a0 name:(id)a1; + (id)voiceForIdentifier:(id)a0; + (BOOL)isSystemVoice:(id)a0; + (id)audioFileSettingsForVoice:(id)a0; + (BOOL)employSpeechMarkupForType:(long long)a0 identifier:(id)a1 withLanguage:(id)a2; + (id)unavailableVoiceIdentifiers; + (id)voiceAccessQueue; + (void)_initializeServers; - (void)_setDelegate:(id)a0; - (id)init; - (void)dealloc; - (void)setFootprint:(long long)a0; - (id)delegate; - (BOOL)pauseSpeakingAtNextBoundary:(long long)a0 synchronously:(BOOL)a1 error:(id *)a2; - (BOOL)stopSpeakingAtNextBoundary:(long long)a0 synchronously:(BOOL)a1 error:(id *)a2; - (long long)footprint; - (BOOL)isSpeaking; - (void).cxx_destruct; - (float)maximumRate; - (void)setDelegate:(id)a0; - (id)speechString; - (float)minimumRate; - (BOOL)continueSpeakingWithError:(id *)a0; - (void)_processUserSubstitutionsToText:(id)a0 request:(id)a1 bundleIdentifier:(id)a2 voice:(id)a3; - (BOOL)_continueSpeakingRequest:(id)a0 withError:(id *)a1; - (id)_determineSubstitution:(id)a0 speechString:(id)a1 wordRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a2 request:(id)a3; - (id)_makeRequestForVoice:(id)a0 andLanguageCode:(id)a1; - (void)_mediaServicesDied; - (BOOL)_pauseSpeakingRequest:(id)a0 atNextBoundary:(long long)a1 synchronously:(BOOL)a2 error:(id *)a3; - (id)_preprocessText:(id)a0 languageCode:(id)a1; - (id)_processMarker:(id)a0 forRequest:(id)a1; - (id)_resolveVoiceForLanguage:(id)a0; - (BOOL)_skipSubstition:(id)a0 language:(id)a1 bundleIdentifier:(id)a2 voice:(id)a3; - (BOOL)_startSpeakingString:(id)a0 orSSMLString:(id)a1 withLanguageCode:(id)a2 request:(id *)a3 error:(id *)a4; - (BOOL)_stopSpeakingRequest:(id)a0 atNextBoundary:(long long)a1 synchronously:(BOOL)a2 error:(id *)a3; - (BOOL)_substitutionLanguageMatchesSpecialCase:(id)a0 withLanguage:(id)a1; - (BOOL)continueSpeakingRequest:(id)a0 withError:(id *)a1; - (BOOL)pauseSpeakingAtNextBoundary:(long long)a0 error:(id *)a1; - (BOOL)pauseSpeakingRequest:(id)a0 atNextBoundary:(long long)a1 error:(id *)a2; - (BOOL)pauseSpeakingRequest:(id)a0 atNextBoundary:(long long)a1 synchronously:(BOOL)a2 error:(id *)a3; - (id)resolvedVoiceIdentifierForLanguageCode:(id)a0; - (oneway void)speechRequest:(id)a0 didStopWithSuccess:(BOOL)a1 phonemesSpoken:(id)a2 forService:(id)a3 error:(id)a4; - (oneway void)speechRequest:(id)a0 withMarker:(id)a1 didStartForService:(id)a2; - (oneway void)speechRequestDidContinue:(id)a0 forService:(id)a1; - (oneway void)speechRequestDidPause:(id)a0 forService:(id)a1; - (oneway void)speechRequestDidStart:(id)a0 forService:(id)a1; - (BOOL)startSpeakingSSML:(id)a0 withLanguageCode:(id)a1 request:(id *)a2 error:(id *)a3; - (BOOL)startSpeakingString:(id)a0 error:(id *)a1; - (BOOL)startSpeakingString:(id)a0 request:(id *)a1 error:(id *)a2; - (BOOL)startSpeakingString:(id)a0 toURL:(id)a1 withLanguageCode:(id)a2 error:(id *)a3; - (BOOL)startSpeakingString:(id)a0 toURL:(id)a1 withLanguageCode:(id)a2 request:(id *)a3 error:(id *)a4; - (BOOL)startSpeakingString:(id)a0 withLanguageCode:(id)a1 error:(id *)a2; - (BOOL)startSpeakingString:(id)a0 withLanguageCode:(id)a1 request:(id *)a2 error:(id *)a3; - (BOOL)stopSpeakingAtNextBoundary:(long long)a0 error:(id *)a1; - (BOOL)stopSpeakingRequest:(id)a0 atNextBoundary:(long long)a1 error:(id *)a2; - (BOOL)stopSpeakingRequest:(id)a0 atNextBoundary:(long long)a1 synchronously:(BOOL)a2 error:(id *)a3; - (unsigned long long)synthesizerInstanceID; - (id)testingLastRuleConversion; - (void)testingSetLastRuleConversion:(id)a0 replacement:(id)a1; - (void)useAudioQueueFlags:(unsigned int)a0; - (void)useSpecificAudioSession:(unsigned int)a0; @end