import { Content } from '../models/types';
import { Event } from '../events/Event';
import { BaseAgent, AgentOptions } from './BaseAgent';
import { InvocationContext } from './InvocationContext';
/**
 * A shell agent that runs its sub-agents in parallel in an 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.
 */
export declare class ParallelAgent extends BaseAgent {
    /**
     * Creates a new ParallelAgent.
     *
     * @param name The name of the agent
     * @param options Options for the agent
     */
    constructor(name: string, options?: AgentOptions);
    /**
     * @inheritdoc
     */
    protected runAsyncImpl(ctx: InvocationContext): AsyncGenerator<Event, void, unknown>;
    /**
     * @inheritdoc
     */
    protected runLiveImpl(ctx: InvocationContext): AsyncGenerator<Event, void, unknown>;
    /**
     * @inheritdoc
     */
    setUserContent(content: Content, invocationContext: InvocationContext): void;
}
