/**
 * TTS (Text-to-Speech) Module
 *
 * Unified interface for multiple TTS providers with fallback support
 */
export { speak, speakWithProvider, type SpeakOptions } from './speak-core.js';
/**
 * Check if TTS is available with current configuration
 */
export { isTTSAvailable, isProviderConfigured, getAvailableProviders } from './factory.js';
export { mergeTtsConfigFromAppConfig, formatTtsSetupHint, appendTtsReadinessNote, } from './merge-config.js';
/**
 * Preprocess text for TTS
 */
export { preprocessText, type PreprocessOptions, type PreprocessResult } from './preprocess.js';
/**
 * Parse TTS directives
 */
export { parseTtsDirectives, hasTtsDirectives, stripTtsDirectives, buildTtsSystemPromptHint } from './directives.js';
export { ttsStatusTracker, recordTtsSuccess, recordTtsFailure } from './status-tracker.js';
export type { TTSResult, TTSOptions, TTSConfig, TTSProvider, TTSAutoMode, TTSModelOverrideConfig, TtsDirectiveParseResult, TtsDirectiveOverrides, TTSResultWithTracking, ProviderAttempt, ProviderFailureReason, TtsStatusEntry, TtsRuntimeStatus, TTSSummarizationConfig, } from './types.js';
export { openAiSpeechProvider, alibabaSpeechProvider, edgeSpeechProvider, minimaxSpeechProvider, OPENAI_TTS_MODELS, OPENAI_TTS_VOICES, MINIMAX_TTS_MODELS, MINIMAX_TTS_VOICES, } from './providers/index.js';
export type { SpeechProviderPlugin, SpeechProviderId, SpeechProviderConfig, SpeechSynthesisRequest, SpeechSynthesisResult, SpeechSynthesisStreamRequest, SpeechSynthesisStreamResult, SpeechVoiceOption, SpeechModelOverridePolicy, SpeechDirectiveTokenParseContext, SpeechDirectiveTokenParseResult, } from './speech-provider-types.js';
export { registerSpeechProvider, getSpeechProvider, listSpeechProviders, } from './speech-registry.js';
export { resolveSpeechProvider, resolveSpeechProviderChain, resolveProviderOrder, listRegisteredSpeechProviderIds, type ResolvedSpeechProvider, } from './factory.js';
export { speakStream, type SpeakStreamResult } from './speak-core.js';
export { TTSService, shouldUseTTS, getChannelOutputFormat, getSupportedChannels, isVoiceCompatibleChannel, type TTSContext, type TTSDecision, type ChannelAudioFormat, } from './service.js';
export { maybeApplyTtsToPayload, isTtsEnabled, resolveTtsAutoMode, type TTSApplyOptions, } from './payload.js';
