import { getSpeechProvider, listSpeechProviders, registerSpeechProvider } from "./speech-registry.js";
import { OPENAI_TTS_MODELS, OPENAI_TTS_VOICES, openAiSpeechProvider } from "./providers/openai-speech.js";
import { alibabaSpeechProvider } from "./providers/alibaba-speech.js";
import { edgeSpeechProvider } from "./providers/edge-speech.js";
import { MINIMAX_TTS_MODELS, MINIMAX_TTS_VOICES, minimaxSpeechProvider } from "./providers/minimax-speech.js";
import "./providers/index.js";
import { buildTtsSystemPromptHint, hasTtsDirectives, parseTtsDirectives, stripTtsDirectives } from "./directives.js";
import { getAvailableProviders, isProviderConfigured, isTTSAvailable, listRegisteredSpeechProviderIds, resolveProviderOrder, resolveSpeechProvider, resolveSpeechProviderChain } from "./factory.js";
import { preprocessText } from "./preprocess.js";
import { speak, speakStream, speakWithProvider } from "./speak-core.js";
import { appendTtsReadinessNote, formatTtsSetupHint, mergeTtsConfigFromAppConfig } from "./merge-config.js";
import { TTSService, getChannelOutputFormat, getSupportedChannels, isVoiceCompatibleChannel, shouldUseTTS } from "./service.js";
import { recordTtsFailure, recordTtsSuccess, ttsStatusTracker } from "./status-tracker.js";
import { isTtsEnabled, maybeApplyTtsToPayload, resolveTtsAutoMode } from "./payload.js";
export { MINIMAX_TTS_MODELS, MINIMAX_TTS_VOICES, OPENAI_TTS_MODELS, OPENAI_TTS_VOICES, TTSService, alibabaSpeechProvider, appendTtsReadinessNote, buildTtsSystemPromptHint, edgeSpeechProvider, formatTtsSetupHint, getAvailableProviders, getChannelOutputFormat, getSpeechProvider, getSupportedChannels, hasTtsDirectives, isProviderConfigured, isTTSAvailable, isTtsEnabled, isVoiceCompatibleChannel, listRegisteredSpeechProviderIds, listSpeechProviders, maybeApplyTtsToPayload, mergeTtsConfigFromAppConfig, minimaxSpeechProvider, openAiSpeechProvider, parseTtsDirectives, preprocessText, recordTtsFailure, recordTtsSuccess, registerSpeechProvider, resolveProviderOrder, resolveSpeechProvider, resolveSpeechProviderChain, resolveTtsAutoMode, shouldUseTTS, speak, speakStream, speakWithProvider, stripTtsDirectives, ttsStatusTracker };
