/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { Event } from '../events/event.js'; import { BaseAgent } from './base_agent.js'; import { InvocationContext } from './invocation_context.js'; /** * A unique symbol to identify ADK agent classes. * Defined once and shared by all SequentialAgent instances. */ declare const SEQUENTIAL_AGENT_SIGNATURE_SYMBOL: unique symbol; /** * Type guard to check if an object is an instance of SequentialAgent. * @param obj The object to check. * @returns True if the object is an instance of SequentialAgent, false otherwise. */ export declare function isSequentialAgent(obj: unknown): obj is SequentialAgent; /** * A shell agent that runs its sub-agents in a sequential order. * * @deprecated Use `Workflow` instead, which expresses the same ordering as a * graph and adds routing, retries, HITL and resumability. This class will be * removed in a future version. Note that a `Workflow` cannot yet be an * `LlmAgent` sub-agent. */ export declare class SequentialAgent extends BaseAgent { /** * A unique symbol to identify ADK sequential agent class. */ readonly [SEQUENTIAL_AGENT_SIGNATURE_SYMBOL] = true; protected runAsyncImpl(context: InvocationContext): AsyncGenerator; /** * Implementation for live SequentialAgent. * * Compared to the non-live case, live agents process a continuous stream of * audio or video, so there is no way to tell if it's finished and should pass * to the next agent or not. So we introduce a task_completed() function so * the model can call this function to signal that it's finished the task and * we can move on to the next agent. * * @param context The invocation context of the agent. */ protected runLiveImpl(context: InvocationContext): AsyncGenerator; } export {};