import type { AsrBackendId, CloudAsrProviderId, WhisperAccelerationId, WhisperModelId } from './settings/recognition.js'; import type { SettingsDisplayNameId } from './settings/general.js'; export { ASR_BACKEND_IDS, BAILIAN_MAX_RECORDING_SECONDS, CLOUD_ASR_PROVIDER_IDS, DEEPGRAM_ASR_DEFAULT_SERVICE, DEEPGRAM_ASR_SERVICE_IDS, DEEPGRAM_DEFAULT_MODEL, MIMO_ASR_CLUSTERS, MIMO_ASR_DEFAULT_CLUSTER, MIMO_ASR_DEFAULT_SERVICE, MIMO_ASR_SERVICE_IDS, MIMO_DEFAULT_MODEL, SILICONFLOW_DEFAULT_MODEL, TENCENT_ASR_DEFAULT_SERVICE, TENCENT_ASR_SERVICE_IDS, TENCENT_DEFAULT_ENGINE, VOLCENGINE_ASR_DEFAULT_SERVICE, VOLCENGINE_ASR_SERVICE_IDS, VOLCENGINE_REALTIME_DEFAULT_MODEL, VOLCENGINE_REALTIME_MODEL_IDS, VOLCENGINE_RECORDING_DEFAULT_MODEL, VOLCENGINE_RECORDING_MODEL_IDS, effectiveRecognitionLanguage, isValidRecordingLimit, WHISPER_ACCELERATION_IDS, WHISPER_MODEL_IDS } from './settings/recognition.js'; export { isBailianAsrHost, isHttpEndpoint, MAX_CLOUD_API_KEY_LENGTH } from './settings/cloud-asr.js'; export { MAX_POLISH_PROMPT_LENGTH } from './settings/polishing.js'; export { SETTINGS_DISPLAY_NAME_IDS, settingsPageLabel } from './settings/general.js'; export type { AsrBackendId, CloudAsrProviderId, DeepgramAsrServiceId, MimoAsrClusterId, MimoAsrServiceId, TencentAsrServiceId, WhisperAccelerationId, WhisperModelId } from './settings/recognition.js'; export type { SettingsDisplayNameId } from './settings/general.js'; export declare const SETTINGS_NAMESPACE = "dsh-ears"; export declare const EARS_SETTINGS_SCHEMA_VERSION: 4; /** Browser-facing flat settings model. */ export interface EarsSettings { asrBackend: AsrBackendId | string; webSpeechLanguage: string; localWhisperModel: WhisperModelId | string; localWhisperAcceleration: WhisperAccelerationId | string; localWhisperLanguage: string; cloudAsrProvider: CloudAsrProviderId | string; cloudAsrGroqApiKey: string; cloudAsrGroqModel: string; cloudAsrGroqLanguage: string; cloudAsrDeepgramApiKey: string; cloudAsrDeepgramModel: string; cloudAsrDeepgramLanguage: string; cloudAsrDeepgramService: string; cloudAsrCustomApiKey: string; cloudAsrCustomEndpoint: string; cloudAsrCustomModel: string; cloudAsrCustomLanguage: string; cloudAsrBailianApiKey: string; cloudAsrBailianHost: string; cloudAsrBailianModel: string; cloudAsrBailianLanguage: string; cloudAsrTencentAppId: string; cloudAsrTencentSecretId: string; cloudAsrTencentSecretKey: string; cloudAsrTencentEngineType: string; cloudAsrTencentService: string; cloudAsrMimoApiKey: string; cloudAsrMimoService: string; cloudAsrMimoCluster: string; cloudAsrMimoModel: string; cloudAsrMimoLanguage: string; cloudAsrSiliconFlowApiKey: string; cloudAsrSiliconFlowModel: string; cloudAsrSiliconFlowLanguage: string; cloudAsrVolcengineApiKey: string; cloudAsrVolcengineService: string; cloudAsrVolcengineRealtimeModel: string; cloudAsrVolcengineRecordingModel: string; cloudAsrVolcengineLanguage: string; maxRecordingSeconds: number; voiceShortcutEnabled: boolean; voiceShortcut: string; voiceSoundsEnabled: boolean; settingsDisplayName: SettingsDisplayNameId | string; polishingEnabled: boolean; polishProvider: string; polishModel: string; polishReasoningEffort: string; polishPrompt: string; } export declare const DEFAULT_EARS_SETTINGS: EarsSettings; export interface PolishRoute { provider: string; providerName: string; model: string; modelName: string; } export interface ReasoningEffortInfo { id: string; name: string; description?: string; } export interface ReasoningEffortsView { efforts: ReasoningEffortInfo[]; defaultEffort?: string; } export declare function effectiveRecordingSeconds(settings: Pick): number; export declare function validateEarsSettings(settings: EarsSettings): void; export interface EarsSettingsRepairResult { readonly settings: EarsSettings; readonly repairedFields: readonly string[]; } /** Replace invalid persisted values with safe defaults without exposing their contents. */ export declare function repairInvalidEarsSettings(settings: EarsSettings): EarsSettingsRepairResult;