import { EventStream } from "../lib/event-streams.js";
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as operations from "../models/operations/index.js";
export declare class Agents extends ClientSDK {
    /**
     * Retrieve a specific agent task
     *
     * @remarks
     * Retrieves detailed information about a specific task for a given agent, including execution status and results.
     */
    retrieveTask(request: operations.GetAgentTaskRequest, options?: RequestOptions): Promise<operations.GetAgentTaskResponseBody>;
    /**
     * Create a new agent
     *
     * @remarks
     * Creates a new AI agent with specified configuration. Agents can be configured with a primary model and an optional fallback model that will be used automatically if the primary model fails.
     */
    create(request?: operations.CreateAgentRequestBody | undefined, options?: RequestOptions): Promise<operations.CreateAgentResponseBody>;
    /**
     * List all agents
     *
     * @remarks
     * Retrieves a paginated list of all agents in your workspace. Each agent includes its configuration, primary model, and optional fallback model settings.
     */
    list(request?: operations.ListAgentsRequest | undefined, options?: RequestOptions): Promise<operations.ListAgentsResponseBody>;
    /**
     * Delete an agent
     *
     * @remarks
     * Permanently deletes an agent and all its configuration, including primary and fallback model settings.
     */
    delete(request: operations.DeleteAgentRequest, options?: RequestOptions): Promise<void>;
    /**
     * Get an agent
     *
     * @remarks
     * Retrieves a single agent by its unique key, including its full configuration with primary and fallback model settings.
     */
    retrieve(request: operations.GetAgentRequest, options?: RequestOptions): Promise<operations.GetAgentResponseBody>;
    /**
     * Update an agent
     *
     * @remarks
     * Updates an existing agent's configuration. You can update various fields including the model configuration and fallback model settings.
     */
    update(request: operations.UpdateAgentRequest, options?: RequestOptions): Promise<operations.UpdateAgentResponseBody>;
    /**
     * Invoke an agent
     *
     * @remarks
     * Executes an existing agent with the provided input. The agent uses its pre-configured primary model and will automatically fall back to its configured fallback model if the primary model fails. Fallback models are configured at the agent level, not during execution.
     */
    invoke(request: operations.InvokeAgentRequest, options?: RequestOptions): Promise<operations.InvokeAgentResponseBody>;
    /**
     * List all tasks for an agent
     *
     * @remarks
     * Retrieves a paginated list of all tasks associated with a specific agent, optionally filtered by status.
     */
    listTasks(request: operations.ListAgentTasksRequest, options?: RequestOptions): Promise<operations.ListAgentTasksResponseBody>;
    /**
     * Run an agent
     *
     * @remarks
     * Executes an agent with the provided configuration using A2A message format. If the agent already exists with the same configuration, it will be reused. If the configuration differs, a new version is created. The fallback model is configured at the agent level and will be used automatically if the primary model fails during execution.
     */
    run(request?: operations.RunAgentRequestBody | undefined, options?: RequestOptions): Promise<operations.RunAgentResponseBody>;
    /**
     * Run and stream agent execution
     *
     * @remarks
     * Creates or updates an agent with the provided configuration, then streams execution events via Server-Sent Events (SSE). If the agent already exists with the same configuration, it will be reused. If the configuration differs, a new version is created. The stream will continue until the agent completes, errors, or reaches the configured timeout.
     */
    streamRun(request?: operations.StreamRunAgentRequestBody | undefined, options?: RequestOptions): Promise<EventStream<operations.StreamRunAgentResponseBody>>;
    /**
     * Stream agent execution events
     *
     * @remarks
     * Executes an agent and streams events via Server-Sent Events (SSE). The stream will continue until the agent completes, errors, or reaches the configured timeout.
     */
    stream(request: operations.StreamAgentRequest, options?: RequestOptions): Promise<EventStream<operations.StreamAgentResponseBody>>;
    /**
     * List all actions
     */
    listActions(request: operations.ListActionsRequest, options?: RequestOptions): Promise<operations.ListActionsResponseBody>;
    /**
     * Retrieve an action executed by an agent task.
     */
    retrieveAction(request: operations.RetrieveActionRequest, options?: RequestOptions): Promise<operations.RetrieveActionResponseBody>;
}
//# sourceMappingURL=agents.d.ts.map