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 PromptTokensDetails = {
    cachedTokens?: number | null | undefined;
    cacheCreationTokens?: number | null | undefined;
    /**
     * The number of audio input tokens consumed by the request.
     */
    audioTokens?: number | null | undefined;
};
export type CompletionTokensDetails = {
    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 Usage = {
    /**
     * 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?: PromptTokensDetails | null | undefined;
    completionTokensDetails?: CompletionTokensDetails | null | undefined;
};
/**
 * The reason why the agent stopped generating
 */
export declare const FinishReason: {
    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 FinishReason = ClosedEnum<typeof FinishReason>;
export declare const CreateAgentResponseType: {
    readonly Function: "function";
};
export type CreateAgentResponseType = ClosedEnum<typeof CreateAgentResponseType>;
export type FunctionT = {
    name?: string | undefined;
    arguments?: string | undefined;
};
export type PendingToolCalls = {
    id: string;
    type: CreateAgentResponseType;
    function: FunctionT;
};
/**
 * Response type from the create-response endpoint.
 */
export type CreateAgentResponse = {
    /**
     * 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?: Usage | null | undefined;
    /**
     * The reason why the agent stopped generating
     */
    finishReason?: FinishReason | undefined;
    /**
     * Tool calls awaiting user response (when finish_reason is function_call)
     */
    pendingToolCalls?: Array<PendingToolCalls> | undefined;
    /**
     * Telemetry information for correlating the response with traces
     */
    telemetry?: Telemetry | undefined;
};
/** @internal */
export declare const PromptTokensDetails$inboundSchema: z.ZodType<PromptTokensDetails, z.ZodTypeDef, unknown>;
export declare function promptTokensDetailsFromJSON(jsonString: string): SafeParseResult<PromptTokensDetails, SDKValidationError>;
/** @internal */
export declare const CompletionTokensDetails$inboundSchema: z.ZodType<CompletionTokensDetails, z.ZodTypeDef, unknown>;
export declare function completionTokensDetailsFromJSON(jsonString: string): SafeParseResult<CompletionTokensDetails, SDKValidationError>;
/** @internal */
export declare const Usage$inboundSchema: z.ZodType<Usage, z.ZodTypeDef, unknown>;
export declare function usageFromJSON(jsonString: string): SafeParseResult<Usage, SDKValidationError>;
/** @internal */
export declare const FinishReason$inboundSchema: z.ZodNativeEnum<typeof FinishReason>;
/** @internal */
export declare const CreateAgentResponseType$inboundSchema: z.ZodNativeEnum<typeof CreateAgentResponseType>;
/** @internal */
export declare const FunctionT$inboundSchema: z.ZodType<FunctionT, z.ZodTypeDef, unknown>;
export declare function functionFromJSON(jsonString: string): SafeParseResult<FunctionT, SDKValidationError>;
/** @internal */
export declare const PendingToolCalls$inboundSchema: z.ZodType<PendingToolCalls, z.ZodTypeDef, unknown>;
export declare function pendingToolCallsFromJSON(jsonString: string): SafeParseResult<PendingToolCalls, SDKValidationError>;
/** @internal */
export declare const CreateAgentResponse$inboundSchema: z.ZodType<CreateAgentResponse, z.ZodTypeDef, unknown>;
export declare function createAgentResponseFromJSON(jsonString: string): SafeParseResult<CreateAgentResponse, SDKValidationError>;
//# sourceMappingURL=createagentresponse.d.ts.map