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";
/**
 * The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.
 */
export declare const CreateTranslationResponseFormat: {
    readonly Json: "json";
    readonly Text: "text";
    readonly Srt: "srt";
    readonly VerboseJson: "verbose_json";
    readonly Vtt: "vtt";
};
/**
 * The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.
 */
export type CreateTranslationResponseFormat = ClosedEnum<typeof CreateTranslationResponseFormat>;
/**
 * The granularity of the timestamps in the transcription. Word provides word-level timestamps and character provides character-level timestamps per word.
 */
export declare const CreateTranslationTimestampsGranularity: {
    readonly None: "none";
    readonly Word: "word";
    readonly Character: "character";
};
/**
 * The granularity of the timestamps in the transcription. Word provides word-level timestamps and character provides character-level timestamps per word.
 */
export type CreateTranslationTimestampsGranularity = ClosedEnum<typeof CreateTranslationTimestampsGranularity>;
export type CreateTranslationFallbacks = {
    /**
     * Fallback model identifier
     */
    model: string;
};
/**
 * Retry configuration for the request
 */
export type CreateTranslationRetry = {
    /**
     * Number of retry attempts (1-5)
     */
    count?: number | undefined;
    /**
     * HTTP status codes that trigger retry logic
     */
    onCodes?: Array<number> | undefined;
};
export declare const CreateTranslationLoadBalancerType: {
    readonly WeightBased: "weight_based";
};
export type CreateTranslationLoadBalancerType = ClosedEnum<typeof CreateTranslationLoadBalancerType>;
export type CreateTranslationLoadBalancerModels = {
    /**
     * Model identifier for load balancing
     */
    model: string;
    /**
     * Weight assigned to this model for load balancing
     */
    weight?: number | undefined;
};
export type CreateTranslationLoadBalancer1 = {
    type: CreateTranslationLoadBalancerType;
    models: Array<CreateTranslationLoadBalancerModels>;
};
/**
 * Load balancer configuration for the request.
 */
export type CreateTranslationLoadBalancer = CreateTranslationLoadBalancer1;
/**
 * Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
 */
export type CreateTranslationTimeout = {
    /**
     * Timeout value in milliseconds
     */
    callTimeout: number;
};
export type CreateTranslationRouterAudioTranslationsFallbacks = {
    /**
     * Fallback model identifier
     */
    model: string;
};
/**
 * Retry configuration for the request
 */
export type CreateTranslationRouterAudioTranslationsRetry = {
    /**
     * Number of retry attempts (1-5)
     */
    count?: number | undefined;
    /**
     * HTTP status codes that trigger retry logic
     */
    onCodes?: Array<number> | undefined;
};
export declare const CreateTranslationLoadBalancerRouterAudioTranslationsType: {
    readonly WeightBased: "weight_based";
};
export type CreateTranslationLoadBalancerRouterAudioTranslationsType = ClosedEnum<typeof CreateTranslationLoadBalancerRouterAudioTranslationsType>;
export type CreateTranslationLoadBalancerRouterAudioTranslationsModels = {
    /**
     * Model identifier for load balancing
     */
    model: string;
    /**
     * Weight assigned to this model for load balancing
     */
    weight?: number | undefined;
};
export type CreateTranslationLoadBalancerRouterAudioTranslations1 = {
    type: CreateTranslationLoadBalancerRouterAudioTranslationsType;
    models: Array<CreateTranslationLoadBalancerRouterAudioTranslationsModels>;
};
/**
 * Array of models with weights for load balancing requests
 */
export type CreateTranslationRouterAudioTranslationsLoadBalancer = CreateTranslationLoadBalancerRouterAudioTranslations1;
/**
 * Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
 */
export type CreateTranslationRouterAudioTranslationsTimeout = {
    /**
     * Timeout value in milliseconds
     */
    callTimeout: number;
};
export type CreateTranslationOrq = {
    /**
     * The name to display on the trace. If not specified, the default system name will be used.
     */
    name?: string | undefined;
    /**
     * Array of fallback models to use if primary model fails
     */
    fallbacks?: Array<CreateTranslationRouterAudioTranslationsFallbacks> | undefined;
    /**
     * Retry configuration for the request
     */
    retry?: CreateTranslationRouterAudioTranslationsRetry | undefined;
    /**
     * Information about the identity making the request. If the identity does not exist, it will be created automatically.
     */
    identity?: components.PublicIdentity | undefined;
    /**
     * @deprecated Use identity instead. Information about the contact making the request.
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    contact?: components.PublicContact | undefined;
    /**
     * Array of models with weights for load balancing requests
     */
    loadBalancer?: CreateTranslationLoadBalancerRouterAudioTranslations1 | undefined;
    /**
     * Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
     */
    timeout?: CreateTranslationRouterAudioTranslationsTimeout | undefined;
};
export type CreateTranslationFile = {
    fileName: string;
    content: ReadableStream<Uint8Array> | Blob | ArrayBuffer | Uint8Array;
};
/**
 * Translates audio into English.
 */
export type CreateTranslationRequestBody = {
    /**
     * ID of the model to use
     */
    model: string;
    /**
     * An optional text to guide the model's style or continue a previous audio segment. The prompt should match the audio language.
     */
    prompt?: string | undefined;
    /**
     * When enable_logging is set to false, zero retention mode is used. This disables history features like request stitching and is only available to enterprise customers.
     */
    enableLogging?: boolean | undefined;
    /**
     * Whether to annotate which speaker is currently talking in the uploaded file.
     */
    diarize?: boolean | undefined;
    /**
     * The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.
     */
    responseFormat?: CreateTranslationResponseFormat | undefined;
    /**
     * Whether to tag audio events like (laughter), (footsteps), etc. in the transcription.
     */
    tagAudioEvents?: boolean | undefined;
    /**
     * The maximum amount of speakers talking in the uploaded file. Helps with predicting who speaks when, the maximum is 32.
     */
    numSpeakers?: number | undefined;
    /**
     * The granularity of the timestamps in the transcription. Word provides word-level timestamps and character provides character-level timestamps per word.
     */
    timestampsGranularity?: CreateTranslationTimestampsGranularity | undefined;
    /**
     * The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.
     */
    temperature?: number | undefined;
    /**
     * The name to display on the trace. If not specified, the default system name will be used.
     */
    name?: string | undefined;
    /**
     * Array of fallback models to use if primary model fails
     */
    fallbacks?: Array<CreateTranslationFallbacks> | undefined;
    /**
     * Retry configuration for the request
     */
    retry?: CreateTranslationRetry | undefined;
    /**
     * Load balancer configuration for the request.
     */
    loadBalancer?: CreateTranslationLoadBalancer1 | undefined;
    /**
     * Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
     */
    timeout?: CreateTranslationTimeout | undefined;
    orq?: CreateTranslationOrq | undefined;
    /**
     * The audio file object (not file name) to transcribe, in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.
     */
    file?: CreateTranslationFile | Blob | undefined;
};
export type ResponseBodyWords = {
    word?: string | undefined;
    start?: number | undefined;
    end?: number | undefined;
};
export type ResponseBodySegments = {
    id: number;
    seek: number;
    start: number;
    end: number;
    text: string;
    tokens: Array<number>;
    temperature: number;
    avgLogprob: number;
    compressionRatio: number;
    noSpeechProb: number;
};
export type CreateTranslationResponseBody2 = {
    task?: string | undefined;
    language?: string | undefined;
    duration?: number | undefined;
    text: string;
    words?: Array<ResponseBodyWords> | undefined;
    segments?: Array<ResponseBodySegments> | undefined;
};
export type CreateTranslationResponseBody1 = {
    text: string;
};
/**
 * Returns the translated text
 */
export type CreateTranslationResponseBody = CreateTranslationResponseBody1 | CreateTranslationResponseBody2 | string;
/** @internal */
export declare const CreateTranslationResponseFormat$outboundSchema: z.ZodNativeEnum<typeof CreateTranslationResponseFormat>;
/** @internal */
export declare const CreateTranslationTimestampsGranularity$outboundSchema: z.ZodNativeEnum<typeof CreateTranslationTimestampsGranularity>;
/** @internal */
export type CreateTranslationFallbacks$Outbound = {
    model: string;
};
/** @internal */
export declare const CreateTranslationFallbacks$outboundSchema: z.ZodType<CreateTranslationFallbacks$Outbound, z.ZodTypeDef, CreateTranslationFallbacks>;
export declare function createTranslationFallbacksToJSON(createTranslationFallbacks: CreateTranslationFallbacks): string;
/** @internal */
export type CreateTranslationRetry$Outbound = {
    count: number;
    on_codes?: Array<number> | undefined;
};
/** @internal */
export declare const CreateTranslationRetry$outboundSchema: z.ZodType<CreateTranslationRetry$Outbound, z.ZodTypeDef, CreateTranslationRetry>;
export declare function createTranslationRetryToJSON(createTranslationRetry: CreateTranslationRetry): string;
/** @internal */
export declare const CreateTranslationLoadBalancerType$outboundSchema: z.ZodNativeEnum<typeof CreateTranslationLoadBalancerType>;
/** @internal */
export type CreateTranslationLoadBalancerModels$Outbound = {
    model: string;
    weight: number;
};
/** @internal */
export declare const CreateTranslationLoadBalancerModels$outboundSchema: z.ZodType<CreateTranslationLoadBalancerModels$Outbound, z.ZodTypeDef, CreateTranslationLoadBalancerModels>;
export declare function createTranslationLoadBalancerModelsToJSON(createTranslationLoadBalancerModels: CreateTranslationLoadBalancerModels): string;
/** @internal */
export type CreateTranslationLoadBalancer1$Outbound = {
    type: string;
    models: Array<CreateTranslationLoadBalancerModels$Outbound>;
};
/** @internal */
export declare const CreateTranslationLoadBalancer1$outboundSchema: z.ZodType<CreateTranslationLoadBalancer1$Outbound, z.ZodTypeDef, CreateTranslationLoadBalancer1>;
export declare function createTranslationLoadBalancer1ToJSON(createTranslationLoadBalancer1: CreateTranslationLoadBalancer1): string;
/** @internal */
export type CreateTranslationLoadBalancer$Outbound = CreateTranslationLoadBalancer1$Outbound;
/** @internal */
export declare const CreateTranslationLoadBalancer$outboundSchema: z.ZodType<CreateTranslationLoadBalancer$Outbound, z.ZodTypeDef, CreateTranslationLoadBalancer>;
export declare function createTranslationLoadBalancerToJSON(createTranslationLoadBalancer: CreateTranslationLoadBalancer): string;
/** @internal */
export type CreateTranslationTimeout$Outbound = {
    call_timeout: number;
};
/** @internal */
export declare const CreateTranslationTimeout$outboundSchema: z.ZodType<CreateTranslationTimeout$Outbound, z.ZodTypeDef, CreateTranslationTimeout>;
export declare function createTranslationTimeoutToJSON(createTranslationTimeout: CreateTranslationTimeout): string;
/** @internal */
export type CreateTranslationRouterAudioTranslationsFallbacks$Outbound = {
    model: string;
};
/** @internal */
export declare const CreateTranslationRouterAudioTranslationsFallbacks$outboundSchema: z.ZodType<CreateTranslationRouterAudioTranslationsFallbacks$Outbound, z.ZodTypeDef, CreateTranslationRouterAudioTranslationsFallbacks>;
export declare function createTranslationRouterAudioTranslationsFallbacksToJSON(createTranslationRouterAudioTranslationsFallbacks: CreateTranslationRouterAudioTranslationsFallbacks): string;
/** @internal */
export type CreateTranslationRouterAudioTranslationsRetry$Outbound = {
    count: number;
    on_codes?: Array<number> | undefined;
};
/** @internal */
export declare const CreateTranslationRouterAudioTranslationsRetry$outboundSchema: z.ZodType<CreateTranslationRouterAudioTranslationsRetry$Outbound, z.ZodTypeDef, CreateTranslationRouterAudioTranslationsRetry>;
export declare function createTranslationRouterAudioTranslationsRetryToJSON(createTranslationRouterAudioTranslationsRetry: CreateTranslationRouterAudioTranslationsRetry): string;
/** @internal */
export declare const CreateTranslationLoadBalancerRouterAudioTranslationsType$outboundSchema: z.ZodNativeEnum<typeof CreateTranslationLoadBalancerRouterAudioTranslationsType>;
/** @internal */
export type CreateTranslationLoadBalancerRouterAudioTranslationsModels$Outbound = {
    model: string;
    weight: number;
};
/** @internal */
export declare const CreateTranslationLoadBalancerRouterAudioTranslationsModels$outboundSchema: z.ZodType<CreateTranslationLoadBalancerRouterAudioTranslationsModels$Outbound, z.ZodTypeDef, CreateTranslationLoadBalancerRouterAudioTranslationsModels>;
export declare function createTranslationLoadBalancerRouterAudioTranslationsModelsToJSON(createTranslationLoadBalancerRouterAudioTranslationsModels: CreateTranslationLoadBalancerRouterAudioTranslationsModels): string;
/** @internal */
export type CreateTranslationLoadBalancerRouterAudioTranslations1$Outbound = {
    type: string;
    models: Array<CreateTranslationLoadBalancerRouterAudioTranslationsModels$Outbound>;
};
/** @internal */
export declare const CreateTranslationLoadBalancerRouterAudioTranslations1$outboundSchema: z.ZodType<CreateTranslationLoadBalancerRouterAudioTranslations1$Outbound, z.ZodTypeDef, CreateTranslationLoadBalancerRouterAudioTranslations1>;
export declare function createTranslationLoadBalancerRouterAudioTranslations1ToJSON(createTranslationLoadBalancerRouterAudioTranslations1: CreateTranslationLoadBalancerRouterAudioTranslations1): string;
/** @internal */
export type CreateTranslationRouterAudioTranslationsLoadBalancer$Outbound = CreateTranslationLoadBalancerRouterAudioTranslations1$Outbound;
/** @internal */
export declare const CreateTranslationRouterAudioTranslationsLoadBalancer$outboundSchema: z.ZodType<CreateTranslationRouterAudioTranslationsLoadBalancer$Outbound, z.ZodTypeDef, CreateTranslationRouterAudioTranslationsLoadBalancer>;
export declare function createTranslationRouterAudioTranslationsLoadBalancerToJSON(createTranslationRouterAudioTranslationsLoadBalancer: CreateTranslationRouterAudioTranslationsLoadBalancer): string;
/** @internal */
export type CreateTranslationRouterAudioTranslationsTimeout$Outbound = {
    call_timeout: number;
};
/** @internal */
export declare const CreateTranslationRouterAudioTranslationsTimeout$outboundSchema: z.ZodType<CreateTranslationRouterAudioTranslationsTimeout$Outbound, z.ZodTypeDef, CreateTranslationRouterAudioTranslationsTimeout>;
export declare function createTranslationRouterAudioTranslationsTimeoutToJSON(createTranslationRouterAudioTranslationsTimeout: CreateTranslationRouterAudioTranslationsTimeout): string;
/** @internal */
export type CreateTranslationOrq$Outbound = {
    name?: string | undefined;
    fallbacks?: Array<CreateTranslationRouterAudioTranslationsFallbacks$Outbound> | undefined;
    retry?: CreateTranslationRouterAudioTranslationsRetry$Outbound | undefined;
    identity?: components.PublicIdentity$Outbound | undefined;
    contact?: components.PublicContact$Outbound | undefined;
    load_balancer?: CreateTranslationLoadBalancerRouterAudioTranslations1$Outbound | undefined;
    timeout?: CreateTranslationRouterAudioTranslationsTimeout$Outbound | undefined;
};
/** @internal */
export declare const CreateTranslationOrq$outboundSchema: z.ZodType<CreateTranslationOrq$Outbound, z.ZodTypeDef, CreateTranslationOrq>;
export declare function createTranslationOrqToJSON(createTranslationOrq: CreateTranslationOrq): string;
/** @internal */
export type CreateTranslationFile$Outbound = {
    fileName: string;
    content: ReadableStream<Uint8Array> | Blob | ArrayBuffer | Uint8Array;
};
/** @internal */
export declare const CreateTranslationFile$outboundSchema: z.ZodType<CreateTranslationFile$Outbound, z.ZodTypeDef, CreateTranslationFile>;
export declare function createTranslationFileToJSON(createTranslationFile: CreateTranslationFile): string;
/** @internal */
export type CreateTranslationRequestBody$Outbound = {
    model: string;
    prompt?: string | undefined;
    enable_logging: boolean;
    diarize: boolean;
    response_format?: string | undefined;
    tag_audio_events: boolean;
    num_speakers?: number | undefined;
    timestamps_granularity: string;
    temperature?: number | undefined;
    name?: string | undefined;
    fallbacks?: Array<CreateTranslationFallbacks$Outbound> | undefined;
    retry?: CreateTranslationRetry$Outbound | undefined;
    load_balancer?: CreateTranslationLoadBalancer1$Outbound | undefined;
    timeout?: CreateTranslationTimeout$Outbound | undefined;
    orq?: CreateTranslationOrq$Outbound | undefined;
    file?: CreateTranslationFile$Outbound | Blob | undefined;
};
/** @internal */
export declare const CreateTranslationRequestBody$outboundSchema: z.ZodType<CreateTranslationRequestBody$Outbound, z.ZodTypeDef, CreateTranslationRequestBody>;
export declare function createTranslationRequestBodyToJSON(createTranslationRequestBody: CreateTranslationRequestBody): string;
/** @internal */
export declare const ResponseBodyWords$inboundSchema: z.ZodType<ResponseBodyWords, z.ZodTypeDef, unknown>;
export declare function responseBodyWordsFromJSON(jsonString: string): SafeParseResult<ResponseBodyWords, SDKValidationError>;
/** @internal */
export declare const ResponseBodySegments$inboundSchema: z.ZodType<ResponseBodySegments, z.ZodTypeDef, unknown>;
export declare function responseBodySegmentsFromJSON(jsonString: string): SafeParseResult<ResponseBodySegments, SDKValidationError>;
/** @internal */
export declare const CreateTranslationResponseBody2$inboundSchema: z.ZodType<CreateTranslationResponseBody2, z.ZodTypeDef, unknown>;
export declare function createTranslationResponseBody2FromJSON(jsonString: string): SafeParseResult<CreateTranslationResponseBody2, SDKValidationError>;
/** @internal */
export declare const CreateTranslationResponseBody1$inboundSchema: z.ZodType<CreateTranslationResponseBody1, z.ZodTypeDef, unknown>;
export declare function createTranslationResponseBody1FromJSON(jsonString: string): SafeParseResult<CreateTranslationResponseBody1, SDKValidationError>;
/** @internal */
export declare const CreateTranslationResponseBody$inboundSchema: z.ZodType<CreateTranslationResponseBody, z.ZodTypeDef, unknown>;
export declare function createTranslationResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateTranslationResponseBody, SDKValidationError>;
//# sourceMappingURL=createtranslation.d.ts.map