import { openAiTranscriptionProvider } from "./providers/openai-transcription.js";
import { alibabaTranscriptionProvider } from "./providers/alibaba-transcription.js";
import "./providers/index.js";
import { resolveSTTProviderChain, resolveSTTProviderConfig, resolveSTTProviderOrder } from "./factory.js";
import { transcribe } from "./transcribe-core.js";
import { isSTTAvailable } from "./availability.js";
import { audioPreflightTranscribe, checkMentionInTranscription } from "./preflight.js";
//#region src/voice/stt/index.ts
/**
* Single-provider transcription helper. Used by chat-commands /stt so a user
* can force a specific provider regardless of fallback config.
*/
async function transcribeWithProvider(audioBuffer, providerName, config, options) {
	const result = await transcribe(audioBuffer, {
		...config,
		provider: providerName,
		fallback: {
			enabled: false,
			order: [providerName]
		}
	}, options);
	return {
		text: result.text,
		provider: result.provider,
		...result.duration !== void 0 ? { duration: result.duration } : {},
		...result.language ? { language: result.language } : {}
	};
}
//#endregion
export { alibabaTranscriptionProvider, audioPreflightTranscribe, checkMentionInTranscription, isSTTAvailable, openAiTranscriptionProvider, resolveSTTProviderChain, resolveSTTProviderConfig, resolveSTTProviderOrder, transcribe, transcribeWithProvider };

//# sourceMappingURL=index.js.map