import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Usage statistics to add to the deployment
 */
export type Usage = {
    /**
     * Number of tokens in the prompt.
     */
    promptTokens: number;
    /**
     * Number of tokens in the generated completion.
     */
    completionTokens: number;
    /**
     * Total number of tokens used in the request (prompt + completion).
     */
    totalTokens?: number | undefined;
};
export type Performance = {
    /**
     * Total time in milliseconds of the request to the LLM provider API.
     */
    latency: number;
    /**
     * Total time in milliseconds to generate the first token of the completion.
     */
    timeToFirstToken?: number | undefined;
};
export type DeploymentCreateMetricContentDeploymentsMetricsRequest2 = components.TextContentPartSchema;
/**
 * The contents of the tool message.
 */
export type DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBody5Content = string | Array<components.TextContentPartSchema>;
/**
 * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
 */
export declare const DeploymentCreateMetricMessagesDeploymentsMetricsType: {
    readonly Ephemeral: "ephemeral";
};
/**
 * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
 */
export type DeploymentCreateMetricMessagesDeploymentsMetricsType = ClosedEnum<typeof DeploymentCreateMetricMessagesDeploymentsMetricsType>;
/**
 * The time-to-live for the cache control breakpoint. This may be one of the following values:
 *
 * @remarks
 *
 * - `5m`: 5 minutes
 * - `1h`: 1 hour
 *
 * Defaults to `5m`. Only supported by `Anthropic` Claude models.
 */
export declare const DeploymentCreateMetricMessagesTtl: {
    readonly Fivem: "5m";
    readonly Oneh: "1h";
};
/**
 * The time-to-live for the cache control breakpoint. This may be one of the following values:
 *
 * @remarks
 *
 * - `5m`: 5 minutes
 * - `1h`: 1 hour
 *
 * Defaults to `5m`. Only supported by `Anthropic` Claude models.
 */
export type DeploymentCreateMetricMessagesTtl = ClosedEnum<typeof DeploymentCreateMetricMessagesTtl>;
export type DeploymentCreateMetricMessagesCacheControl = {
    /**
     * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
     */
    type: DeploymentCreateMetricMessagesDeploymentsMetricsType;
    /**
     * The time-to-live for the cache control breakpoint. This may be one of the following values:
     *
     * @remarks
     *
     * - `5m`: 5 minutes
     * - `1h`: 1 hour
     *
     * Defaults to `5m`. Only supported by `Anthropic` Claude models.
     */
    ttl?: DeploymentCreateMetricMessagesTtl | undefined;
};
export type DeploymentCreateMetricMessagesToolMessage = {
    /**
     * The role of the messages author, in this case tool.
     */
    role: "tool";
    /**
     * The contents of the tool message.
     */
    content: string | Array<components.TextContentPartSchema>;
    /**
     * Tool call that this message is responding to.
     */
    toolCallId: string | null;
    cacheControl?: DeploymentCreateMetricMessagesCacheControl | undefined;
};
export type DeploymentCreateMetricContentDeploymentsMetrics2 = (components.TextContentPartSchema & {
    type: "text";
}) | components.RefusalPartSchema | components.ReasoningPartSchema | components.RedactedReasoningPartSchema;
/**
 * The contents of the assistant message. Required unless `tool_calls` or `function_call` is specified.
 */
export type DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBodyContent = string | Array<(components.TextContentPartSchema & {
    type: "text";
}) | components.RefusalPartSchema | components.ReasoningPartSchema | components.RedactedReasoningPartSchema>;
/**
 * Data about a previous audio response from the model.
 */
export type DeploymentCreateMetricMessagesAudio = {
    /**
     * Unique identifier for a previous audio response from the model.
     */
    id: string;
};
/**
 * The type of the tool. Currently, only `function` is supported.
 */
export declare const DeploymentCreateMetricMessagesType: {
    readonly Function: "function";
};
/**
 * The type of the tool. Currently, only `function` is supported.
 */
export type DeploymentCreateMetricMessagesType = ClosedEnum<typeof DeploymentCreateMetricMessagesType>;
export type DeploymentCreateMetricMessagesFunction = {
    /**
     * The name of the function to call.
     */
    name?: string | undefined;
    /**
     * The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
     */
    arguments?: string | undefined;
};
export type DeploymentCreateMetricMessagesToolCalls = {
    /**
     * The ID of the tool call.
     */
    id: string;
    /**
     * The type of the tool. Currently, only `function` is supported.
     */
    type: DeploymentCreateMetricMessagesType;
    function: DeploymentCreateMetricMessagesFunction;
    /**
     * Encrypted representation of the model internal reasoning state during function calling. Required by Gemini 3 models when continuing a conversation after a tool call.
     */
    thoughtSignature?: string | undefined;
};
export type DeploymentCreateMetricMessagesAssistantMessage = {
    /**
     * The contents of the assistant message. Required unless `tool_calls` or `function_call` is specified.
     */
    content?: string | Array<(components.TextContentPartSchema & {
        type: "text";
    }) | components.RefusalPartSchema | components.ReasoningPartSchema | components.RedactedReasoningPartSchema> | null | undefined;
    /**
     * The refusal message by the assistant.
     */
    refusal?: string | null | undefined;
    /**
     * The role of the messages author, in this case `assistant`.
     */
    role: "assistant";
    /**
     * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
     */
    name?: string | undefined;
    /**
     * Data about a previous audio response from the model.
     */
    audio?: DeploymentCreateMetricMessagesAudio | null | undefined;
    /**
     * The tool calls generated by the model, such as function calls.
     */
    toolCalls?: Array<DeploymentCreateMetricMessagesToolCalls> | undefined;
};
/**
 * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
 */
export declare const DeploymentCreateMetric2DeploymentsMetricsType: {
    readonly Ephemeral: "ephemeral";
};
/**
 * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
 */
export type DeploymentCreateMetric2DeploymentsMetricsType = ClosedEnum<typeof DeploymentCreateMetric2DeploymentsMetricsType>;
/**
 * The time-to-live for the cache control breakpoint. This may be one of the following values:
 *
 * @remarks
 *
 * - `5m`: 5 minutes
 * - `1h`: 1 hour
 *
 * Defaults to `5m`. Only supported by `Anthropic` Claude models.
 */
export declare const DeploymentCreateMetric2Ttl: {
    readonly Fivem: "5m";
    readonly Oneh: "1h";
};
/**
 * The time-to-live for the cache control breakpoint. This may be one of the following values:
 *
 * @remarks
 *
 * - `5m`: 5 minutes
 * - `1h`: 1 hour
 *
 * Defaults to `5m`. Only supported by `Anthropic` Claude models.
 */
export type DeploymentCreateMetric2Ttl = ClosedEnum<typeof DeploymentCreateMetric2Ttl>;
export type DeploymentCreateMetric2CacheControl = {
    /**
     * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
     */
    type: DeploymentCreateMetric2DeploymentsMetricsType;
    /**
     * The time-to-live for the cache control breakpoint. This may be one of the following values:
     *
     * @remarks
     *
     * - `5m`: 5 minutes
     * - `1h`: 1 hour
     *
     * Defaults to `5m`. Only supported by `Anthropic` Claude models.
     */
    ttl?: DeploymentCreateMetric2Ttl | undefined;
};
export type DeploymentCreateMetric24 = {
    /**
     * The type of the content part. Always `file`.
     */
    type: "file";
    cacheControl?: DeploymentCreateMetric2CacheControl | undefined;
    /**
     * File data for the content part. Must contain either file_data or uri, but not both.
     */
    file: components.FileContentPartSchema;
};
export type DeploymentCreateMetricContent2 = (components.TextContentPartSchema & {
    type: "text";
}) | components.ImageContentPartSchema | components.AudioContentPartSchema | DeploymentCreateMetric24;
/**
 * The contents of the user message.
 */
export type DeploymentCreateMetricMessagesDeploymentsMetricsRequestContent = string | Array<(components.TextContentPartSchema & {
    type: "text";
}) | components.ImageContentPartSchema | components.AudioContentPartSchema | DeploymentCreateMetric24>;
export type DeploymentCreateMetricMessagesUserMessage = {
    /**
     * The role of the messages author, in this case `user`.
     */
    role: "user";
    /**
     * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
     */
    name?: string | undefined;
    /**
     * The contents of the user message.
     */
    content: string | Array<(components.TextContentPartSchema & {
        type: "text";
    }) | components.ImageContentPartSchema | components.AudioContentPartSchema | DeploymentCreateMetric24>;
};
/**
 * The contents of the developer message.
 */
export type DeploymentCreateMetricMessagesDeploymentsMetricsContent = string | Array<components.TextContentPartSchema>;
export type DeploymentCreateMetricMessagesDeveloperMessage = {
    /**
     * The role of the messages author, in this case  `developer`.
     */
    role: "developer";
    /**
     * The contents of the developer message.
     */
    content: string | Array<components.TextContentPartSchema>;
    /**
     * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
     */
    name?: string | undefined;
};
/**
 * The contents of the system message.
 */
export type DeploymentCreateMetricMessagesContent = string | Array<components.TextContentPartSchema>;
/**
 * Developer-provided instructions that the model should follow, regardless of messages sent by the user.
 */
export type DeploymentCreateMetricMessagesSystemMessage = {
    /**
     * The role of the messages author, in this case `system`.
     */
    role: "system";
    /**
     * The contents of the system message.
     */
    content: string | Array<components.TextContentPartSchema>;
    /**
     * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
     */
    name?: string | undefined;
};
export type DeploymentCreateMetricMessages = DeploymentCreateMetricMessagesSystemMessage | DeploymentCreateMetricMessagesDeveloperMessage | DeploymentCreateMetricMessagesUserMessage | DeploymentCreateMetricMessagesAssistantMessage | DeploymentCreateMetricMessagesToolMessage;
export type DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices52 = components.TextContentPartSchema;
/**
 * The contents of the tool message.
 */
export type DeploymentCreateMetricChoicesDeploymentsMetricsRequestRequestBodyContent = string | Array<components.TextContentPartSchema>;
/**
 * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
 */
export declare const DeploymentCreateMetricChoicesType: {
    readonly Ephemeral: "ephemeral";
};
/**
 * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
 */
export type DeploymentCreateMetricChoicesType = ClosedEnum<typeof DeploymentCreateMetricChoicesType>;
/**
 * The time-to-live for the cache control breakpoint. This may be one of the following values:
 *
 * @remarks
 *
 * - `5m`: 5 minutes
 * - `1h`: 1 hour
 *
 * Defaults to `5m`. Only supported by `Anthropic` Claude models.
 */
export declare const ChoicesTtl: {
    readonly Fivem: "5m";
    readonly Oneh: "1h";
};
/**
 * The time-to-live for the cache control breakpoint. This may be one of the following values:
 *
 * @remarks
 *
 * - `5m`: 5 minutes
 * - `1h`: 1 hour
 *
 * Defaults to `5m`. Only supported by `Anthropic` Claude models.
 */
export type ChoicesTtl = ClosedEnum<typeof ChoicesTtl>;
export type ChoicesCacheControl = {
    /**
     * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
     */
    type: DeploymentCreateMetricChoicesType;
    /**
     * The time-to-live for the cache control breakpoint. This may be one of the following values:
     *
     * @remarks
     *
     * - `5m`: 5 minutes
     * - `1h`: 1 hour
     *
     * Defaults to `5m`. Only supported by `Anthropic` Claude models.
     */
    ttl?: ChoicesTtl | undefined;
};
export type ChoicesToolMessage = {
    /**
     * The role of the messages author, in this case tool.
     */
    role: "tool";
    /**
     * The contents of the tool message.
     */
    content: string | Array<components.TextContentPartSchema>;
    /**
     * Tool call that this message is responding to.
     */
    toolCallId: string | null;
    cacheControl?: ChoicesCacheControl | undefined;
};
export type DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices2 = (components.TextContentPartSchema & {
    type: "text";
}) | components.RefusalPartSchema | components.ReasoningPartSchema | components.RedactedReasoningPartSchema;
/**
 * The contents of the assistant message. Required unless `tool_calls` or `function_call` is specified.
 */
export type DeploymentCreateMetricChoicesDeploymentsMetricsRequestContent = string | Array<(components.TextContentPartSchema & {
    type: "text";
}) | components.RefusalPartSchema | components.ReasoningPartSchema | components.RedactedReasoningPartSchema>;
/**
 * Data about a previous audio response from the model.
 */
export type ChoicesAudio = {
    /**
     * Unique identifier for a previous audio response from the model.
     */
    id: string;
};
/**
 * The type of the tool. Currently, only `function` is supported.
 */
export declare const ChoicesType: {
    readonly Function: "function";
};
/**
 * The type of the tool. Currently, only `function` is supported.
 */
export type ChoicesType = ClosedEnum<typeof ChoicesType>;
export type ChoicesFunction = {
    /**
     * The name of the function to call.
     */
    name?: string | undefined;
    /**
     * The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
     */
    arguments?: string | undefined;
};
export type ChoicesToolCalls = {
    /**
     * The ID of the tool call.
     */
    id: string;
    /**
     * The type of the tool. Currently, only `function` is supported.
     */
    type: ChoicesType;
    function: ChoicesFunction;
    /**
     * Encrypted representation of the model internal reasoning state during function calling. Required by Gemini 3 models when continuing a conversation after a tool call.
     */
    thoughtSignature?: string | undefined;
};
export type ChoicesAssistantMessage = {
    /**
     * The contents of the assistant message. Required unless `tool_calls` or `function_call` is specified.
     */
    content?: string | Array<(components.TextContentPartSchema & {
        type: "text";
    }) | components.RefusalPartSchema | components.ReasoningPartSchema | components.RedactedReasoningPartSchema> | null | undefined;
    /**
     * The refusal message by the assistant.
     */
    refusal?: string | null | undefined;
    /**
     * The role of the messages author, in this case `assistant`.
     */
    role: "assistant";
    /**
     * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
     */
    name?: string | undefined;
    /**
     * Data about a previous audio response from the model.
     */
    audio?: ChoicesAudio | null | undefined;
    /**
     * The tool calls generated by the model, such as function calls.
     */
    toolCalls?: Array<ChoicesToolCalls> | undefined;
};
/**
 * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
 */
export declare const DeploymentCreateMetric2DeploymentsMetricsRequestRequestBodyType: {
    readonly Ephemeral: "ephemeral";
};
/**
 * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
 */
export type DeploymentCreateMetric2DeploymentsMetricsRequestRequestBodyType = ClosedEnum<typeof DeploymentCreateMetric2DeploymentsMetricsRequestRequestBodyType>;
/**
 * The time-to-live for the cache control breakpoint. This may be one of the following values:
 *
 * @remarks
 *
 * - `5m`: 5 minutes
 * - `1h`: 1 hour
 *
 * Defaults to `5m`. Only supported by `Anthropic` Claude models.
 */
export declare const DeploymentCreateMetric2DeploymentsMetricsTtl: {
    readonly Fivem: "5m";
    readonly Oneh: "1h";
};
/**
 * The time-to-live for the cache control breakpoint. This may be one of the following values:
 *
 * @remarks
 *
 * - `5m`: 5 minutes
 * - `1h`: 1 hour
 *
 * Defaults to `5m`. Only supported by `Anthropic` Claude models.
 */
export type DeploymentCreateMetric2DeploymentsMetricsTtl = ClosedEnum<typeof DeploymentCreateMetric2DeploymentsMetricsTtl>;
export type DeploymentCreateMetric2DeploymentsMetricsCacheControl = {
    /**
     * Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
     */
    type: DeploymentCreateMetric2DeploymentsMetricsRequestRequestBodyType;
    /**
     * The time-to-live for the cache control breakpoint. This may be one of the following values:
     *
     * @remarks
     *
     * - `5m`: 5 minutes
     * - `1h`: 1 hour
     *
     * Defaults to `5m`. Only supported by `Anthropic` Claude models.
     */
    ttl?: DeploymentCreateMetric2DeploymentsMetricsTtl | undefined;
};
export type DeploymentCreateMetric2DeploymentsMetrics4 = {
    /**
     * The type of the content part. Always `file`.
     */
    type: "file";
    cacheControl?: DeploymentCreateMetric2DeploymentsMetricsCacheControl | undefined;
    /**
     * File data for the content part. Must contain either file_data or uri, but not both.
     */
    file: components.FileContentPartSchema;
};
export type DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBody2 = (components.TextContentPartSchema & {
    type: "text";
}) | components.ImageContentPartSchema | components.AudioContentPartSchema | DeploymentCreateMetric2DeploymentsMetrics4;
/**
 * The contents of the user message.
 */
export type DeploymentCreateMetricChoicesDeploymentsMetricsContent = string | Array<(components.TextContentPartSchema & {
    type: "text";
}) | components.ImageContentPartSchema | components.AudioContentPartSchema | DeploymentCreateMetric2DeploymentsMetrics4>;
export type ChoicesUserMessage = {
    /**
     * The role of the messages author, in this case `user`.
     */
    role: "user";
    /**
     * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
     */
    name?: string | undefined;
    /**
     * The contents of the user message.
     */
    content: string | Array<(components.TextContentPartSchema & {
        type: "text";
    }) | components.ImageContentPartSchema | components.AudioContentPartSchema | DeploymentCreateMetric2DeploymentsMetrics4>;
};
/**
 * The contents of the developer message.
 */
export type DeploymentCreateMetricChoicesContent = string | Array<components.TextContentPartSchema>;
export type ChoicesDeveloperMessage = {
    /**
     * The role of the messages author, in this case  `developer`.
     */
    role: "developer";
    /**
     * The contents of the developer message.
     */
    content: string | Array<components.TextContentPartSchema>;
    /**
     * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
     */
    name?: string | undefined;
};
/**
 * The contents of the system message.
 */
export type ChoicesContent = string | Array<components.TextContentPartSchema>;
/**
 * Developer-provided instructions that the model should follow, regardless of messages sent by the user.
 */
export type ChoicesSystemMessage = {
    /**
     * The role of the messages author, in this case `system`.
     */
    role: "system";
    /**
     * The contents of the system message.
     */
    content: string | Array<components.TextContentPartSchema>;
    /**
     * An optional name for the participant. Provides the model information to differentiate between participants of the same role.
     */
    name?: string | undefined;
};
export type Choices = ChoicesSystemMessage | ChoicesDeveloperMessage | ChoicesUserMessage | ChoicesAssistantMessage | ChoicesToolMessage;
/**
 * Feedback from the user on the completion
 */
export type Feedback = {
    /**
     * The feedback score. This allow you to come with specific logic on what a `score` number means
     */
    score: number;
};
/**
 * The deployment request payload
 */
export type DeploymentCreateMetricRequestBody = {
    /**
     * Your own custom key-value pairs can be attached to the logs. This is useful for storing additional information related to your interactions with the LLM providers or specifics within your application.
     */
    metadata?: {
        [k: string]: any;
    } | undefined;
    /**
     * Usage statistics to add to the deployment
     */
    usage?: Usage | undefined;
    performance?: Performance | undefined;
    /**
     * A list of messages sent to the model.
     */
    messages?: Array<DeploymentCreateMetricMessagesSystemMessage | DeploymentCreateMetricMessagesDeveloperMessage | DeploymentCreateMetricMessagesUserMessage | DeploymentCreateMetricMessagesAssistantMessage | DeploymentCreateMetricMessagesToolMessage> | undefined;
    /**
     * A list of completion choices. If you are using a `completion` model then you must provide the `completion content` with the chat completion format
     */
    choices?: Array<ChoicesSystemMessage | ChoicesDeveloperMessage | ChoicesUserMessage | ChoicesAssistantMessage | ChoicesToolMessage> | undefined;
    /**
     * Feedback from the user on the completion
     */
    feedback?: Feedback | undefined;
};
export type DeploymentCreateMetricRequest = {
    /**
     * Deployment ID
     */
    id: string;
    /**
     * The deployment request payload
     */
    requestBody: DeploymentCreateMetricRequestBody;
};
/**
 * Successful operation
 */
export type DeploymentCreateMetricResponseBody = {
    /**
     * Whether the request was successful
     */
    success: boolean;
};
/** @internal */
export type Usage$Outbound = {
    prompt_tokens: number;
    completion_tokens: number;
    total_tokens?: number | undefined;
};
/** @internal */
export declare const Usage$outboundSchema: z.ZodType<Usage$Outbound, z.ZodTypeDef, Usage>;
export declare function usageToJSON(usage: Usage): string;
/** @internal */
export type Performance$Outbound = {
    latency: number;
    time_to_first_token?: number | undefined;
};
/** @internal */
export declare const Performance$outboundSchema: z.ZodType<Performance$Outbound, z.ZodTypeDef, Performance>;
export declare function performanceToJSON(performance: Performance): string;
/** @internal */
export type DeploymentCreateMetricContentDeploymentsMetricsRequest2$Outbound = components.TextContentPartSchema$Outbound;
/** @internal */
export declare const DeploymentCreateMetricContentDeploymentsMetricsRequest2$outboundSchema: z.ZodType<DeploymentCreateMetricContentDeploymentsMetricsRequest2$Outbound, z.ZodTypeDef, DeploymentCreateMetricContentDeploymentsMetricsRequest2>;
export declare function deploymentCreateMetricContentDeploymentsMetricsRequest2ToJSON(deploymentCreateMetricContentDeploymentsMetricsRequest2: DeploymentCreateMetricContentDeploymentsMetricsRequest2): string;
/** @internal */
export type DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBody5Content$Outbound = string | Array<components.TextContentPartSchema$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBody5Content$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBody5Content$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBody5Content>;
export declare function deploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBody5ContentToJSON(deploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBody5Content: DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBody5Content): string;
/** @internal */
export declare const DeploymentCreateMetricMessagesDeploymentsMetricsType$outboundSchema: z.ZodNativeEnum<typeof DeploymentCreateMetricMessagesDeploymentsMetricsType>;
/** @internal */
export declare const DeploymentCreateMetricMessagesTtl$outboundSchema: z.ZodNativeEnum<typeof DeploymentCreateMetricMessagesTtl>;
/** @internal */
export type DeploymentCreateMetricMessagesCacheControl$Outbound = {
    type: string;
    ttl: string;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesCacheControl$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesCacheControl$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesCacheControl>;
export declare function deploymentCreateMetricMessagesCacheControlToJSON(deploymentCreateMetricMessagesCacheControl: DeploymentCreateMetricMessagesCacheControl): string;
/** @internal */
export type DeploymentCreateMetricMessagesToolMessage$Outbound = {
    role: "tool";
    content: string | Array<components.TextContentPartSchema$Outbound>;
    tool_call_id: string | null;
    cache_control?: DeploymentCreateMetricMessagesCacheControl$Outbound | undefined;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesToolMessage$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesToolMessage$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesToolMessage>;
export declare function deploymentCreateMetricMessagesToolMessageToJSON(deploymentCreateMetricMessagesToolMessage: DeploymentCreateMetricMessagesToolMessage): string;
/** @internal */
export type DeploymentCreateMetricContentDeploymentsMetrics2$Outbound = (components.TextContentPartSchema$Outbound & {
    type: "text";
}) | components.RefusalPartSchema$Outbound | components.ReasoningPartSchema$Outbound | components.RedactedReasoningPartSchema$Outbound;
/** @internal */
export declare const DeploymentCreateMetricContentDeploymentsMetrics2$outboundSchema: z.ZodType<DeploymentCreateMetricContentDeploymentsMetrics2$Outbound, z.ZodTypeDef, DeploymentCreateMetricContentDeploymentsMetrics2>;
export declare function deploymentCreateMetricContentDeploymentsMetrics2ToJSON(deploymentCreateMetricContentDeploymentsMetrics2: DeploymentCreateMetricContentDeploymentsMetrics2): string;
/** @internal */
export type DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBodyContent$Outbound = string | Array<(components.TextContentPartSchema$Outbound & {
    type: "text";
}) | components.RefusalPartSchema$Outbound | components.ReasoningPartSchema$Outbound | components.RedactedReasoningPartSchema$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBodyContent$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBodyContent$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBodyContent>;
export declare function deploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBodyContentToJSON(deploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBodyContent: DeploymentCreateMetricMessagesDeploymentsMetricsRequestRequestBodyContent): string;
/** @internal */
export type DeploymentCreateMetricMessagesAudio$Outbound = {
    id: string;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesAudio$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesAudio$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesAudio>;
export declare function deploymentCreateMetricMessagesAudioToJSON(deploymentCreateMetricMessagesAudio: DeploymentCreateMetricMessagesAudio): string;
/** @internal */
export declare const DeploymentCreateMetricMessagesType$outboundSchema: z.ZodNativeEnum<typeof DeploymentCreateMetricMessagesType>;
/** @internal */
export type DeploymentCreateMetricMessagesFunction$Outbound = {
    name?: string | undefined;
    arguments?: string | undefined;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesFunction$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesFunction$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesFunction>;
export declare function deploymentCreateMetricMessagesFunctionToJSON(deploymentCreateMetricMessagesFunction: DeploymentCreateMetricMessagesFunction): string;
/** @internal */
export type DeploymentCreateMetricMessagesToolCalls$Outbound = {
    id: string;
    type: string;
    function: DeploymentCreateMetricMessagesFunction$Outbound;
    thought_signature?: string | undefined;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesToolCalls$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesToolCalls$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesToolCalls>;
export declare function deploymentCreateMetricMessagesToolCallsToJSON(deploymentCreateMetricMessagesToolCalls: DeploymentCreateMetricMessagesToolCalls): string;
/** @internal */
export type DeploymentCreateMetricMessagesAssistantMessage$Outbound = {
    content?: string | Array<(components.TextContentPartSchema$Outbound & {
        type: "text";
    }) | components.RefusalPartSchema$Outbound | components.ReasoningPartSchema$Outbound | components.RedactedReasoningPartSchema$Outbound> | null | undefined;
    refusal?: string | null | undefined;
    role: "assistant";
    name?: string | undefined;
    audio?: DeploymentCreateMetricMessagesAudio$Outbound | null | undefined;
    tool_calls?: Array<DeploymentCreateMetricMessagesToolCalls$Outbound> | undefined;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesAssistantMessage$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesAssistantMessage$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesAssistantMessage>;
export declare function deploymentCreateMetricMessagesAssistantMessageToJSON(deploymentCreateMetricMessagesAssistantMessage: DeploymentCreateMetricMessagesAssistantMessage): string;
/** @internal */
export declare const DeploymentCreateMetric2DeploymentsMetricsType$outboundSchema: z.ZodNativeEnum<typeof DeploymentCreateMetric2DeploymentsMetricsType>;
/** @internal */
export declare const DeploymentCreateMetric2Ttl$outboundSchema: z.ZodNativeEnum<typeof DeploymentCreateMetric2Ttl>;
/** @internal */
export type DeploymentCreateMetric2CacheControl$Outbound = {
    type: string;
    ttl: string;
};
/** @internal */
export declare const DeploymentCreateMetric2CacheControl$outboundSchema: z.ZodType<DeploymentCreateMetric2CacheControl$Outbound, z.ZodTypeDef, DeploymentCreateMetric2CacheControl>;
export declare function deploymentCreateMetric2CacheControlToJSON(deploymentCreateMetric2CacheControl: DeploymentCreateMetric2CacheControl): string;
/** @internal */
export type DeploymentCreateMetric24$Outbound = {
    type: "file";
    cache_control?: DeploymentCreateMetric2CacheControl$Outbound | undefined;
    file: components.FileContentPartSchema$Outbound;
};
/** @internal */
export declare const DeploymentCreateMetric24$outboundSchema: z.ZodType<DeploymentCreateMetric24$Outbound, z.ZodTypeDef, DeploymentCreateMetric24>;
export declare function deploymentCreateMetric24ToJSON(deploymentCreateMetric24: DeploymentCreateMetric24): string;
/** @internal */
export type DeploymentCreateMetricContent2$Outbound = (components.TextContentPartSchema$Outbound & {
    type: "text";
}) | components.ImageContentPartSchema$Outbound | components.AudioContentPartSchema$Outbound | DeploymentCreateMetric24$Outbound;
/** @internal */
export declare const DeploymentCreateMetricContent2$outboundSchema: z.ZodType<DeploymentCreateMetricContent2$Outbound, z.ZodTypeDef, DeploymentCreateMetricContent2>;
export declare function deploymentCreateMetricContent2ToJSON(deploymentCreateMetricContent2: DeploymentCreateMetricContent2): string;
/** @internal */
export type DeploymentCreateMetricMessagesDeploymentsMetricsRequestContent$Outbound = string | Array<(components.TextContentPartSchema$Outbound & {
    type: "text";
}) | components.ImageContentPartSchema$Outbound | components.AudioContentPartSchema$Outbound | DeploymentCreateMetric24$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricMessagesDeploymentsMetricsRequestContent$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesDeploymentsMetricsRequestContent$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesDeploymentsMetricsRequestContent>;
export declare function deploymentCreateMetricMessagesDeploymentsMetricsRequestContentToJSON(deploymentCreateMetricMessagesDeploymentsMetricsRequestContent: DeploymentCreateMetricMessagesDeploymentsMetricsRequestContent): string;
/** @internal */
export type DeploymentCreateMetricMessagesUserMessage$Outbound = {
    role: "user";
    name?: string | undefined;
    content: string | Array<(components.TextContentPartSchema$Outbound & {
        type: "text";
    }) | components.ImageContentPartSchema$Outbound | components.AudioContentPartSchema$Outbound | DeploymentCreateMetric24$Outbound>;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesUserMessage$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesUserMessage$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesUserMessage>;
export declare function deploymentCreateMetricMessagesUserMessageToJSON(deploymentCreateMetricMessagesUserMessage: DeploymentCreateMetricMessagesUserMessage): string;
/** @internal */
export type DeploymentCreateMetricMessagesDeploymentsMetricsContent$Outbound = string | Array<components.TextContentPartSchema$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricMessagesDeploymentsMetricsContent$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesDeploymentsMetricsContent$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesDeploymentsMetricsContent>;
export declare function deploymentCreateMetricMessagesDeploymentsMetricsContentToJSON(deploymentCreateMetricMessagesDeploymentsMetricsContent: DeploymentCreateMetricMessagesDeploymentsMetricsContent): string;
/** @internal */
export type DeploymentCreateMetricMessagesDeveloperMessage$Outbound = {
    role: "developer";
    content: string | Array<components.TextContentPartSchema$Outbound>;
    name?: string | undefined;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesDeveloperMessage$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesDeveloperMessage$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesDeveloperMessage>;
export declare function deploymentCreateMetricMessagesDeveloperMessageToJSON(deploymentCreateMetricMessagesDeveloperMessage: DeploymentCreateMetricMessagesDeveloperMessage): string;
/** @internal */
export type DeploymentCreateMetricMessagesContent$Outbound = string | Array<components.TextContentPartSchema$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricMessagesContent$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesContent$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesContent>;
export declare function deploymentCreateMetricMessagesContentToJSON(deploymentCreateMetricMessagesContent: DeploymentCreateMetricMessagesContent): string;
/** @internal */
export type DeploymentCreateMetricMessagesSystemMessage$Outbound = {
    role: "system";
    content: string | Array<components.TextContentPartSchema$Outbound>;
    name?: string | undefined;
};
/** @internal */
export declare const DeploymentCreateMetricMessagesSystemMessage$outboundSchema: z.ZodType<DeploymentCreateMetricMessagesSystemMessage$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessagesSystemMessage>;
export declare function deploymentCreateMetricMessagesSystemMessageToJSON(deploymentCreateMetricMessagesSystemMessage: DeploymentCreateMetricMessagesSystemMessage): string;
/** @internal */
export type DeploymentCreateMetricMessages$Outbound = DeploymentCreateMetricMessagesSystemMessage$Outbound | DeploymentCreateMetricMessagesDeveloperMessage$Outbound | DeploymentCreateMetricMessagesUserMessage$Outbound | DeploymentCreateMetricMessagesAssistantMessage$Outbound | DeploymentCreateMetricMessagesToolMessage$Outbound;
/** @internal */
export declare const DeploymentCreateMetricMessages$outboundSchema: z.ZodType<DeploymentCreateMetricMessages$Outbound, z.ZodTypeDef, DeploymentCreateMetricMessages>;
export declare function deploymentCreateMetricMessagesToJSON(deploymentCreateMetricMessages: DeploymentCreateMetricMessages): string;
/** @internal */
export type DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices52$Outbound = components.TextContentPartSchema$Outbound;
/** @internal */
export declare const DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices52$outboundSchema: z.ZodType<DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices52$Outbound, z.ZodTypeDef, DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices52>;
export declare function deploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices52ToJSON(deploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices52: DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices52): string;
/** @internal */
export type DeploymentCreateMetricChoicesDeploymentsMetricsRequestRequestBodyContent$Outbound = string | Array<components.TextContentPartSchema$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricChoicesDeploymentsMetricsRequestRequestBodyContent$outboundSchema: z.ZodType<DeploymentCreateMetricChoicesDeploymentsMetricsRequestRequestBodyContent$Outbound, z.ZodTypeDef, DeploymentCreateMetricChoicesDeploymentsMetricsRequestRequestBodyContent>;
export declare function deploymentCreateMetricChoicesDeploymentsMetricsRequestRequestBodyContentToJSON(deploymentCreateMetricChoicesDeploymentsMetricsRequestRequestBodyContent: DeploymentCreateMetricChoicesDeploymentsMetricsRequestRequestBodyContent): string;
/** @internal */
export declare const DeploymentCreateMetricChoicesType$outboundSchema: z.ZodNativeEnum<typeof DeploymentCreateMetricChoicesType>;
/** @internal */
export declare const ChoicesTtl$outboundSchema: z.ZodNativeEnum<typeof ChoicesTtl>;
/** @internal */
export type ChoicesCacheControl$Outbound = {
    type: string;
    ttl: string;
};
/** @internal */
export declare const ChoicesCacheControl$outboundSchema: z.ZodType<ChoicesCacheControl$Outbound, z.ZodTypeDef, ChoicesCacheControl>;
export declare function choicesCacheControlToJSON(choicesCacheControl: ChoicesCacheControl): string;
/** @internal */
export type ChoicesToolMessage$Outbound = {
    role: "tool";
    content: string | Array<components.TextContentPartSchema$Outbound>;
    tool_call_id: string | null;
    cache_control?: ChoicesCacheControl$Outbound | undefined;
};
/** @internal */
export declare const ChoicesToolMessage$outboundSchema: z.ZodType<ChoicesToolMessage$Outbound, z.ZodTypeDef, ChoicesToolMessage>;
export declare function choicesToolMessageToJSON(choicesToolMessage: ChoicesToolMessage): string;
/** @internal */
export type DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices2$Outbound = (components.TextContentPartSchema$Outbound & {
    type: "text";
}) | components.RefusalPartSchema$Outbound | components.ReasoningPartSchema$Outbound | components.RedactedReasoningPartSchema$Outbound;
/** @internal */
export declare const DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices2$outboundSchema: z.ZodType<DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices2$Outbound, z.ZodTypeDef, DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices2>;
export declare function deploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices2ToJSON(deploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices2: DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBodyChoices2): string;
/** @internal */
export type DeploymentCreateMetricChoicesDeploymentsMetricsRequestContent$Outbound = string | Array<(components.TextContentPartSchema$Outbound & {
    type: "text";
}) | components.RefusalPartSchema$Outbound | components.ReasoningPartSchema$Outbound | components.RedactedReasoningPartSchema$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricChoicesDeploymentsMetricsRequestContent$outboundSchema: z.ZodType<DeploymentCreateMetricChoicesDeploymentsMetricsRequestContent$Outbound, z.ZodTypeDef, DeploymentCreateMetricChoicesDeploymentsMetricsRequestContent>;
export declare function deploymentCreateMetricChoicesDeploymentsMetricsRequestContentToJSON(deploymentCreateMetricChoicesDeploymentsMetricsRequestContent: DeploymentCreateMetricChoicesDeploymentsMetricsRequestContent): string;
/** @internal */
export type ChoicesAudio$Outbound = {
    id: string;
};
/** @internal */
export declare const ChoicesAudio$outboundSchema: z.ZodType<ChoicesAudio$Outbound, z.ZodTypeDef, ChoicesAudio>;
export declare function choicesAudioToJSON(choicesAudio: ChoicesAudio): string;
/** @internal */
export declare const ChoicesType$outboundSchema: z.ZodNativeEnum<typeof ChoicesType>;
/** @internal */
export type ChoicesFunction$Outbound = {
    name?: string | undefined;
    arguments?: string | undefined;
};
/** @internal */
export declare const ChoicesFunction$outboundSchema: z.ZodType<ChoicesFunction$Outbound, z.ZodTypeDef, ChoicesFunction>;
export declare function choicesFunctionToJSON(choicesFunction: ChoicesFunction): string;
/** @internal */
export type ChoicesToolCalls$Outbound = {
    id: string;
    type: string;
    function: ChoicesFunction$Outbound;
    thought_signature?: string | undefined;
};
/** @internal */
export declare const ChoicesToolCalls$outboundSchema: z.ZodType<ChoicesToolCalls$Outbound, z.ZodTypeDef, ChoicesToolCalls>;
export declare function choicesToolCallsToJSON(choicesToolCalls: ChoicesToolCalls): string;
/** @internal */
export type ChoicesAssistantMessage$Outbound = {
    content?: string | Array<(components.TextContentPartSchema$Outbound & {
        type: "text";
    }) | components.RefusalPartSchema$Outbound | components.ReasoningPartSchema$Outbound | components.RedactedReasoningPartSchema$Outbound> | null | undefined;
    refusal?: string | null | undefined;
    role: "assistant";
    name?: string | undefined;
    audio?: ChoicesAudio$Outbound | null | undefined;
    tool_calls?: Array<ChoicesToolCalls$Outbound> | undefined;
};
/** @internal */
export declare const ChoicesAssistantMessage$outboundSchema: z.ZodType<ChoicesAssistantMessage$Outbound, z.ZodTypeDef, ChoicesAssistantMessage>;
export declare function choicesAssistantMessageToJSON(choicesAssistantMessage: ChoicesAssistantMessage): string;
/** @internal */
export declare const DeploymentCreateMetric2DeploymentsMetricsRequestRequestBodyType$outboundSchema: z.ZodNativeEnum<typeof DeploymentCreateMetric2DeploymentsMetricsRequestRequestBodyType>;
/** @internal */
export declare const DeploymentCreateMetric2DeploymentsMetricsTtl$outboundSchema: z.ZodNativeEnum<typeof DeploymentCreateMetric2DeploymentsMetricsTtl>;
/** @internal */
export type DeploymentCreateMetric2DeploymentsMetricsCacheControl$Outbound = {
    type: string;
    ttl: string;
};
/** @internal */
export declare const DeploymentCreateMetric2DeploymentsMetricsCacheControl$outboundSchema: z.ZodType<DeploymentCreateMetric2DeploymentsMetricsCacheControl$Outbound, z.ZodTypeDef, DeploymentCreateMetric2DeploymentsMetricsCacheControl>;
export declare function deploymentCreateMetric2DeploymentsMetricsCacheControlToJSON(deploymentCreateMetric2DeploymentsMetricsCacheControl: DeploymentCreateMetric2DeploymentsMetricsCacheControl): string;
/** @internal */
export type DeploymentCreateMetric2DeploymentsMetrics4$Outbound = {
    type: "file";
    cache_control?: DeploymentCreateMetric2DeploymentsMetricsCacheControl$Outbound | undefined;
    file: components.FileContentPartSchema$Outbound;
};
/** @internal */
export declare const DeploymentCreateMetric2DeploymentsMetrics4$outboundSchema: z.ZodType<DeploymentCreateMetric2DeploymentsMetrics4$Outbound, z.ZodTypeDef, DeploymentCreateMetric2DeploymentsMetrics4>;
export declare function deploymentCreateMetric2DeploymentsMetrics4ToJSON(deploymentCreateMetric2DeploymentsMetrics4: DeploymentCreateMetric2DeploymentsMetrics4): string;
/** @internal */
export type DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBody2$Outbound = (components.TextContentPartSchema$Outbound & {
    type: "text";
}) | components.ImageContentPartSchema$Outbound | components.AudioContentPartSchema$Outbound | DeploymentCreateMetric2DeploymentsMetrics4$Outbound;
/** @internal */
export declare const DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBody2$outboundSchema: z.ZodType<DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBody2$Outbound, z.ZodTypeDef, DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBody2>;
export declare function deploymentCreateMetricContentDeploymentsMetricsRequestRequestBody2ToJSON(deploymentCreateMetricContentDeploymentsMetricsRequestRequestBody2: DeploymentCreateMetricContentDeploymentsMetricsRequestRequestBody2): string;
/** @internal */
export type DeploymentCreateMetricChoicesDeploymentsMetricsContent$Outbound = string | Array<(components.TextContentPartSchema$Outbound & {
    type: "text";
}) | components.ImageContentPartSchema$Outbound | components.AudioContentPartSchema$Outbound | DeploymentCreateMetric2DeploymentsMetrics4$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricChoicesDeploymentsMetricsContent$outboundSchema: z.ZodType<DeploymentCreateMetricChoicesDeploymentsMetricsContent$Outbound, z.ZodTypeDef, DeploymentCreateMetricChoicesDeploymentsMetricsContent>;
export declare function deploymentCreateMetricChoicesDeploymentsMetricsContentToJSON(deploymentCreateMetricChoicesDeploymentsMetricsContent: DeploymentCreateMetricChoicesDeploymentsMetricsContent): string;
/** @internal */
export type ChoicesUserMessage$Outbound = {
    role: "user";
    name?: string | undefined;
    content: string | Array<(components.TextContentPartSchema$Outbound & {
        type: "text";
    }) | components.ImageContentPartSchema$Outbound | components.AudioContentPartSchema$Outbound | DeploymentCreateMetric2DeploymentsMetrics4$Outbound>;
};
/** @internal */
export declare const ChoicesUserMessage$outboundSchema: z.ZodType<ChoicesUserMessage$Outbound, z.ZodTypeDef, ChoicesUserMessage>;
export declare function choicesUserMessageToJSON(choicesUserMessage: ChoicesUserMessage): string;
/** @internal */
export type DeploymentCreateMetricChoicesContent$Outbound = string | Array<components.TextContentPartSchema$Outbound>;
/** @internal */
export declare const DeploymentCreateMetricChoicesContent$outboundSchema: z.ZodType<DeploymentCreateMetricChoicesContent$Outbound, z.ZodTypeDef, DeploymentCreateMetricChoicesContent>;
export declare function deploymentCreateMetricChoicesContentToJSON(deploymentCreateMetricChoicesContent: DeploymentCreateMetricChoicesContent): string;
/** @internal */
export type ChoicesDeveloperMessage$Outbound = {
    role: "developer";
    content: string | Array<components.TextContentPartSchema$Outbound>;
    name?: string | undefined;
};
/** @internal */
export declare const ChoicesDeveloperMessage$outboundSchema: z.ZodType<ChoicesDeveloperMessage$Outbound, z.ZodTypeDef, ChoicesDeveloperMessage>;
export declare function choicesDeveloperMessageToJSON(choicesDeveloperMessage: ChoicesDeveloperMessage): string;
/** @internal */
export type ChoicesContent$Outbound = string | Array<components.TextContentPartSchema$Outbound>;
/** @internal */
export declare const ChoicesContent$outboundSchema: z.ZodType<ChoicesContent$Outbound, z.ZodTypeDef, ChoicesContent>;
export declare function choicesContentToJSON(choicesContent: ChoicesContent): string;
/** @internal */
export type ChoicesSystemMessage$Outbound = {
    role: "system";
    content: string | Array<components.TextContentPartSchema$Outbound>;
    name?: string | undefined;
};
/** @internal */
export declare const ChoicesSystemMessage$outboundSchema: z.ZodType<ChoicesSystemMessage$Outbound, z.ZodTypeDef, ChoicesSystemMessage>;
export declare function choicesSystemMessageToJSON(choicesSystemMessage: ChoicesSystemMessage): string;
/** @internal */
export type Choices$Outbound = ChoicesSystemMessage$Outbound | ChoicesDeveloperMessage$Outbound | ChoicesUserMessage$Outbound | ChoicesAssistantMessage$Outbound | ChoicesToolMessage$Outbound;
/** @internal */
export declare const Choices$outboundSchema: z.ZodType<Choices$Outbound, z.ZodTypeDef, Choices>;
export declare function choicesToJSON(choices: Choices): string;
/** @internal */
export type Feedback$Outbound = {
    score: number;
};
/** @internal */
export declare const Feedback$outboundSchema: z.ZodType<Feedback$Outbound, z.ZodTypeDef, Feedback>;
export declare function feedbackToJSON(feedback: Feedback): string;
/** @internal */
export type DeploymentCreateMetricRequestBody$Outbound = {
    metadata?: {
        [k: string]: any;
    } | undefined;
    usage?: Usage$Outbound | undefined;
    performance?: Performance$Outbound | undefined;
    messages?: Array<DeploymentCreateMetricMessagesSystemMessage$Outbound | DeploymentCreateMetricMessagesDeveloperMessage$Outbound | DeploymentCreateMetricMessagesUserMessage$Outbound | DeploymentCreateMetricMessagesAssistantMessage$Outbound | DeploymentCreateMetricMessagesToolMessage$Outbound> | undefined;
    choices?: Array<ChoicesSystemMessage$Outbound | ChoicesDeveloperMessage$Outbound | ChoicesUserMessage$Outbound | ChoicesAssistantMessage$Outbound | ChoicesToolMessage$Outbound> | undefined;
    feedback?: Feedback$Outbound | undefined;
};
/** @internal */
export declare const DeploymentCreateMetricRequestBody$outboundSchema: z.ZodType<DeploymentCreateMetricRequestBody$Outbound, z.ZodTypeDef, DeploymentCreateMetricRequestBody>;
export declare function deploymentCreateMetricRequestBodyToJSON(deploymentCreateMetricRequestBody: DeploymentCreateMetricRequestBody): string;
/** @internal */
export type DeploymentCreateMetricRequest$Outbound = {
    id: string;
    RequestBody: DeploymentCreateMetricRequestBody$Outbound;
};
/** @internal */
export declare const DeploymentCreateMetricRequest$outboundSchema: z.ZodType<DeploymentCreateMetricRequest$Outbound, z.ZodTypeDef, DeploymentCreateMetricRequest>;
export declare function deploymentCreateMetricRequestToJSON(deploymentCreateMetricRequest: DeploymentCreateMetricRequest): string;
/** @internal */
export declare const DeploymentCreateMetricResponseBody$inboundSchema: z.ZodType<DeploymentCreateMetricResponseBody, z.ZodTypeDef, unknown>;
export declare function deploymentCreateMetricResponseBodyFromJSON(jsonString: string): SafeParseResult<DeploymentCreateMetricResponseBody, SDKValidationError>;
//# sourceMappingURL=deploymentcreatemetric.d.ts.map