/** * @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 ParallelAgent instances. */ declare const PARALLEL_AGENT_SIGNATURE_SYMBOL: unique symbol; /** * Type guard to check if an object is an instance of ParallelAgent. * @param obj The object to check. * @returns True if the object is an instance of ParallelAgent, false otherwise. */ export declare function isParallelAgent(obj: unknown): obj is ParallelAgent; /** * A shell agent that run its sub-agents in parallel in isolated manner. * * This approach is beneficial for scenarios requiring multiple perspectives or * attempts on a single task, such as: * * - Running different algorithms simultaneously. * - Generating multiple responses for review by a subsequent evaluation agent. * * @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 ParallelAgent extends BaseAgent { /** * A unique symbol to identify ADK parallel agent class. */ readonly [PARALLEL_AGENT_SIGNATURE_SYMBOL] = true; protected runAsyncImpl(context: InvocationContext): AsyncGenerator; protected runLiveImpl(_context: InvocationContext): AsyncGenerator; } export {};