"""AUTO-GENERATED by adk-fluent generator -- do not edit manually
Generated from google-adk 0.0.0-test (manifest e2dab03c1e8c)"""

from collections.abc import Callable
from typing import Any, Self

from google.adk.agents import LlmAgent
from google.adk.agents.base_agent import BaseAgent
from google.adk.tools.base_tool import BaseTool

from adk_fluent._base import BuilderBase

class Agent(BuilderBase):
    """An agent powered by a large language model."""
    def __init__(self, name: str) -> None: ...
    def describe(self, value: str | None) -> Self: ...
    def instruct(self, value: str | None) -> Self: ...
    def before_model(self, *fns: Callable[..., Any]) -> Self: ...
    def before_model_if(self, condition: bool, fn: Callable[..., Any]) -> Self: ...
    def model(self, value: str) -> Self: ...
    def tools(self, value: list[BaseTool]) -> Self: ...
    def sub_agents(self, value: list[BaseAgent]) -> Self: ...
    def tool(self, value: BaseTool) -> Self: ...
    def sub_agent(self, value: BaseAgent) -> Self: ...
    def build(self) -> LlmAgent: ...
