"""AUTO-GENERATED by adk-fluent generator -- do not edit manually
Generated from google-adk 1.25.0 (manifest 14070a0ff3fb)"""

from typing import Any, Self

from google.adk.code_executors.agent_engine_sandbox_code_executor import (
    AgentEngineSandboxCodeExecutor as _ADK_AgentEngineSandboxCodeExecutor,
)
from google.adk.code_executors.base_code_executor import BaseCodeExecutor as _ADK_BaseCodeExecutor
from google.adk.code_executors.built_in_code_executor import BuiltInCodeExecutor as _ADK_BuiltInCodeExecutor
from google.adk.code_executors.unsafe_local_code_executor import UnsafeLocalCodeExecutor as _ADK_UnsafeLocalCodeExecutor
from google.adk.code_executors.vertex_ai_code_executor import VertexAiCodeExecutor as _ADK_VertexAiCodeExecutor

from adk_fluent._base import BuilderBase

class AgentEngineSandboxCodeExecutor(BuilderBase):
    """A code executor that uses Agent Engine Code Execution Sandbox to execute code."""
    def __init__(self) -> None: ...
    def optimize_data_file(self, value: bool) -> Self: ...
    def stateful(self, value: bool) -> Self: ...
    def error_retry_attempts(self, value: int) -> Self: ...
    def code_block_delimiters(self, value: list[tuple[str, str]]) -> Self: ...
    def execution_result_delimiters(self, value: tuple[str, str]) -> Self: ...
    def sandbox_resource_name(self, value: str) -> Self: ...
    def code_block_delimiter(self, value: tuple[str, str]) -> Self: ...
    def build(self) -> _ADK_AgentEngineSandboxCodeExecutor: ...

class BaseCodeExecutor(BuilderBase):
    """Abstract base class for all code executors."""
    def __init__(self) -> None: ...
    def optimize_data_file(self, value: bool) -> Self: ...
    def stateful(self, value: bool) -> Self: ...
    def error_retry_attempts(self, value: int) -> Self: ...
    def code_block_delimiters(self, value: list[tuple[str, str]]) -> Self: ...
    def execution_result_delimiters(self, value: tuple[str, str]) -> Self: ...
    def code_block_delimiter(self, value: tuple[str, str]) -> Self: ...
    def build(self) -> _ADK_BaseCodeExecutor: ...

class BuiltInCodeExecutor(BuilderBase):
    """A code executor that uses the Model's built-in code executor."""
    def __init__(self) -> None: ...
    def optimize_data_file(self, value: bool) -> Self: ...
    def stateful(self, value: bool) -> Self: ...
    def error_retry_attempts(self, value: int) -> Self: ...
    def code_block_delimiters(self, value: list[tuple[str, str]]) -> Self: ...
    def execution_result_delimiters(self, value: tuple[str, str]) -> Self: ...
    def code_block_delimiter(self, value: tuple[str, str]) -> Self: ...
    def build(self) -> _ADK_BuiltInCodeExecutor: ...

class UnsafeLocalCodeExecutor(BuilderBase):
    """A code executor that unsafely execute code in the current local context."""
    def __init__(self) -> None: ...
    def optimize_data_file(self, value: bool) -> Self: ...
    def stateful(self, value: bool) -> Self: ...
    def error_retry_attempts(self, value: int) -> Self: ...
    def code_block_delimiters(self, value: list[tuple[str, str]]) -> Self: ...
    def execution_result_delimiters(self, value: tuple[str, str]) -> Self: ...
    def code_block_delimiter(self, value: tuple[str, str]) -> Self: ...
    def build(self) -> _ADK_UnsafeLocalCodeExecutor: ...

class VertexAiCodeExecutor(BuilderBase):
    """A code executor that uses Vertex Code Interpreter Extension to execute code."""
    def __init__(self) -> None: ...
    def optimize_data_file(self, value: Any) -> Self: ...
    def stateful(self, value: Any) -> Self: ...
    def error_retry_attempts(self, value: Any) -> Self: ...
    def code_block_delimiters(self, value: Any) -> Self: ...
    def execution_result_delimiters(self, value: Any) -> Self: ...
    def resource_name(self, value: Any) -> Self: ...
    def build(self) -> _ADK_VertexAiCodeExecutor: ...
