import type * as ElevenLabs from "../index"; export interface BaseTurnConfig { /** Maximum wait time for the user's reply before re-engaging the user */ turnTimeout?: number; /** How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout. */ initialWaitTime?: number; /** Maximum wait time since the user last spoke before terminating the call */ silenceEndCallTimeout?: number; /** Controls how eager the agent is to respond. Low = less eager (waits longer), Standard = default eagerness, High = more eager (responds sooner) */ turnEagerness?: ElevenLabs.TurnEagerness; /** Controls if the agent should be more patient when user is spelling numbers and named entities. Auto = model based, Off = never wait extra */ spellingPatience?: ElevenLabs.SpellingPatience; /** When enabled, starts generating LLM responses during silence before full turn confidence is reached, reducing perceived latency. May increase LLM costs. */ speculativeTurn?: boolean; /** When enabled, if VAD detects no speech, attempts to re-transcribe accumulated audio at turn timeout. Disables silence discount billing for affected turns. */ retranscribeOnTurnTimeout?: boolean; turnModel?: ElevenLabs.TurnModel; /** List of terms that should not trigger an interruption when spoken by the user (e.g. 'gotcha', 'understood'). Uses case-insensitive exact matching. */ interruptionIgnoreTerms?: string[]; /** Language codes for which preset ignore-term categories have been activated. Stored explicitly so display is not inferred from term overlap. */ interruptionIgnoreTermLanguages?: string[]; /** When interruptions are disabled, still transcribe what the user says so it can carry into the next turn. When off, user speech during a non-interruptible turn is ignored and won't trigger a turn. */ transcribeOnDisabledInterruptions?: boolean; }