import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { AgentResponseMessage } from "./agentresponsemessage.js";
import { Telemetry } from "./telemetry.js";
export type GetAgentResponsePromptTokensDetails = {
    cachedTokens?: number | null | undefined;
    cacheCreationTokens?: number | null | undefined;
    /**
     * The number of audio input tokens consumed by the request.
     */
    audioTokens?: number | null | undefined;
};
export type GetAgentResponseCompletionTokensDetails = {
    reasoningTokens?: number | null | undefined;
    acceptedPredictionTokens?: number | null | undefined;
    rejectedPredictionTokens?: number | null | undefined;
    /**
     * The number of audio output tokens produced by the response.
     */
    audioTokens?: number | null | undefined;
};
/**
 * Token usage from the agent execution
 */
export type GetAgentResponseUsage = {
    /**
     * Number of tokens in the generated completion.
     */
    completionTokens?: number | undefined;
    /**
     * Number of tokens in the prompt.
     */
    promptTokens?: number | undefined;
    /**
     * Total number of tokens used in the request (prompt + completion).
     */
    totalTokens?: number | undefined;
    promptTokensDetails?: GetAgentResponsePromptTokensDetails | null | undefined;
    completionTokensDetails?: GetAgentResponseCompletionTokensDetails | null | undefined;
};
/**
 * The reason why the agent stopped generating
 */
export declare const GetAgentResponseFinishReason: {
    readonly Stop: "stop";
    readonly Length: "length";
    readonly ToolCalls: "tool_calls";
    readonly ContentFilter: "content_filter";
    readonly FunctionCall: "function_call";
    readonly MaxIterations: "max_iterations";
    readonly MaxTime: "max_time";
};
/**
 * The reason why the agent stopped generating
 */
export type GetAgentResponseFinishReason = ClosedEnum<typeof GetAgentResponseFinishReason>;
export declare const GetAgentResponseType: {
    readonly Function: "function";
};
export type GetAgentResponseType = ClosedEnum<typeof GetAgentResponseType>;
export type GetAgentResponseFunction = {
    name?: string | undefined;
    arguments?: string | undefined;
};
export type GetAgentResponsePendingToolCalls = {
    id: string;
    type: GetAgentResponseType;
    function: GetAgentResponseFunction;
};
/**
 * Current status of the agent response
 */
export declare const Status: {
    readonly InProgress: "in_progress";
    readonly Completed: "completed";
    readonly Failed: "failed";
};
/**
 * Current status of the agent response
 */
export type Status = ClosedEnum<typeof Status>;
/**
 * Response type from the get-response endpoint. Includes a status field indicating the current state of the agent execution.
 */
export type GetAgentResponse = {
    /**
     * The unique response ID
     */
    id: string;
    /**
     * The agent execution task ID
     */
    taskId: string;
    /**
     * Array of messages from the agent execution
     */
    output: Array<AgentResponseMessage>;
    /**
     * ISO timestamp of response creation
     */
    createdAt: string;
    /**
     * Model used in provider/model format
     */
    model: string;
    /**
     * Token usage from the agent execution
     */
    usage?: GetAgentResponseUsage | null | undefined;
    /**
     * The reason why the agent stopped generating
     */
    finishReason?: GetAgentResponseFinishReason | undefined;
    /**
     * Tool calls awaiting user response (when finish_reason is function_call)
     */
    pendingToolCalls?: Array<GetAgentResponsePendingToolCalls> | undefined;
    /**
     * Telemetry information for correlating the response with traces
     */
    telemetry?: Telemetry | undefined;
    /**
     * Current status of the agent response
     */
    status: Status;
    /**
     * Error message when status is failed
     */
    error?: string | undefined;
};
/** @internal */
export declare const GetAgentResponsePromptTokensDetails$inboundSchema: z.ZodType<GetAgentResponsePromptTokensDetails, z.ZodTypeDef, unknown>;
export declare function getAgentResponsePromptTokensDetailsFromJSON(jsonString: string): SafeParseResult<GetAgentResponsePromptTokensDetails, SDKValidationError>;
/** @internal */
export declare const GetAgentResponseCompletionTokensDetails$inboundSchema: z.ZodType<GetAgentResponseCompletionTokensDetails, z.ZodTypeDef, unknown>;
export declare function getAgentResponseCompletionTokensDetailsFromJSON(jsonString: string): SafeParseResult<GetAgentResponseCompletionTokensDetails, SDKValidationError>;
/** @internal */
export declare const GetAgentResponseUsage$inboundSchema: z.ZodType<GetAgentResponseUsage, z.ZodTypeDef, unknown>;
export declare function getAgentResponseUsageFromJSON(jsonString: string): SafeParseResult<GetAgentResponseUsage, SDKValidationError>;
/** @internal */
export declare const GetAgentResponseFinishReason$inboundSchema: z.ZodNativeEnum<typeof GetAgentResponseFinishReason>;
/** @internal */
export declare const GetAgentResponseType$inboundSchema: z.ZodNativeEnum<typeof GetAgentResponseType>;
/** @internal */
export declare const GetAgentResponseFunction$inboundSchema: z.ZodType<GetAgentResponseFunction, z.ZodTypeDef, unknown>;
export declare function getAgentResponseFunctionFromJSON(jsonString: string): SafeParseResult<GetAgentResponseFunction, SDKValidationError>;
/** @internal */
export declare const GetAgentResponsePendingToolCalls$inboundSchema: z.ZodType<GetAgentResponsePendingToolCalls, z.ZodTypeDef, unknown>;
export declare function getAgentResponsePendingToolCallsFromJSON(jsonString: string): SafeParseResult<GetAgentResponsePendingToolCalls, SDKValidationError>;
/** @internal */
export declare const Status$inboundSchema: z.ZodNativeEnum<typeof Status>;
/** @internal */
export declare const GetAgentResponse$inboundSchema: z.ZodType<GetAgentResponse, z.ZodTypeDef, unknown>;
export declare function getAgentResponseFromJSON(jsonString: string): SafeParseResult<GetAgentResponse, SDKValidationError>;
//# sourceMappingURL=getagentresponse.d.ts.map