import type * as ElevenLabs from "../index"; /** * A system tool is a tool that is used to call a system method in the server */ export interface SystemToolConfigOutput { /** The type of tool */ type?: "system"; name: string; /** Description of when the tool should be used and what it does. Leave empty to use the default description that's optimized for the specific tool type. */ description?: string; /** The maximum time in seconds to wait for the tool call to complete. */ responseTimeoutSecs?: number; /** If true, the user will not be able to interrupt the agent while this tool is running. */ disableInterruptions?: boolean; /** DEPRECATED: use `pre_tool_speech` instead. If true, the agent will speak before the tool call. */ forcePreToolSpeech?: boolean; /** Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency. */ preToolSpeech?: ElevenLabs.PreToolSpeechMode; /** Configuration for extracting values from tool responses and assigning them to dynamic variables */ assignments?: ElevenLabs.DynamicVariableAssignment[]; /** Predefined tool call sound type to play during tool execution. If not specified, no tool call sound will be played. */ toolCallSound?: ElevenLabs.ToolCallSoundType; /** Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call. */ toolCallSoundBehavior?: ElevenLabs.ToolCallSoundBehavior; /** Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent. */ toolErrorHandlingMode?: ElevenLabs.ToolErrorHandlingMode; params: ElevenLabs.SystemToolConfigOutputParams; }