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

from typing import Self

from google.adk.agents.base_agent import BaseAgent
from google.adk.agents.context_cache_config import ContextCacheConfig
from google.adk.apps.app import App as _ADK_App
from google.adk.apps.app import EventsCompactionConfig, ResumabilityConfig
from google.adk.artifacts.base_artifact_service import BaseArtifactService
from google.adk.auth.credential_service.base_credential_service import BaseCredentialService
from google.adk.memory.base_memory_service import BaseMemoryService
from google.adk.plugins.base_plugin import BasePlugin
from google.adk.runners import InMemoryRunner as _ADK_InMemoryRunner
from google.adk.runners import Runner as _ADK_Runner

from adk_fluent._base import BuilderBase

class App(BuilderBase):
    """Represents an LLM-backed agentic application."""
    def __init__(self, name: str, root_agent: str) -> None: ...
    def plugins(self, value: list[BasePlugin]) -> Self: ...
    def events_compaction_config(self, value: EventsCompactionConfig | None) -> Self: ...
    def context_cache_config(self, value: ContextCacheConfig | None) -> Self: ...
    def resumability_config(self, value: ResumabilityConfig | None) -> Self: ...
    def plugin(self, value: BasePlugin) -> Self: ...
    def build(self) -> _ADK_App: ...

class InMemoryRunner(BuilderBase):
    """An in-memory Runner for testing and development."""
    def __init__(self) -> None: ...
    def agent(self, value: BaseAgent | None) -> Self: ...
    def app_name(self, value: str | None) -> Self: ...
    def plugins(self, value: list[BasePlugin] | None) -> Self: ...
    def app(self, value: _ADK_App | None) -> Self: ...
    def plugin_close_timeout(self, value: float) -> Self: ...
    def build(self) -> _ADK_InMemoryRunner: ...

class Runner(BuilderBase):
    """The Runner class is used to run agents."""
    def __init__(self, session_service: str) -> None: ...
    def app(self, value: _ADK_App | None) -> Self: ...
    def app_name(self, value: str | None) -> Self: ...
    def agent(self, value: BaseAgent | None) -> Self: ...
    def plugins(self, value: list[BasePlugin] | None) -> Self: ...
    def artifact_service(self, value: BaseArtifactService | None) -> Self: ...
    def memory_service(self, value: BaseMemoryService | None) -> Self: ...
    def credential_service(self, value: BaseCredentialService | None) -> Self: ...
    def plugin_close_timeout(self, value: float) -> Self: ...
    def auto_create_session(self, value: bool) -> Self: ...
    def build(self) -> _ADK_Runner: ...
