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; /** If true, the agent will speak before the tool call. */ forcePreToolSpeech?: boolean; /** 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; }