"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from syllable_sdk.types import BaseModel
from typing_extensions import TypedDict


class InsightToolInputToolArgumentsTypedDict(TypedDict):
    r"""Arguments for Insight Tool"""


class InsightToolInputToolArguments(BaseModel):
    r"""Arguments for Insight Tool"""


class InsightToolInputTypedDict(TypedDict):
    name: str
    r"""Human readable name of Insight Tool"""
    description: str
    r"""Text description of Insight Tool"""
    version: int
    r"""Version number of Insight Tool"""
    tool_arguments: InsightToolInputToolArgumentsTypedDict
    r"""Arguments for Insight Tool"""
    insight_tool_definition_id: int
    r"""Unique ID for Insight Tool Definition"""


class InsightToolInput(BaseModel):
    name: str
    r"""Human readable name of Insight Tool"""

    description: str
    r"""Text description of Insight Tool"""

    version: int
    r"""Version number of Insight Tool"""

    tool_arguments: InsightToolInputToolArguments
    r"""Arguments for Insight Tool"""

    insight_tool_definition_id: int
    r"""Unique ID for Insight Tool Definition"""
