import * as z from "zod/v4";
import { OpenEnum } from "../types/enums.js";
import { ProviderOptions, ProviderOptions$Outbound } from "./provideroptions.js";
import { SpeechInputReference, SpeechInputReference$Outbound } from "./speechinputreference.js";
/**
 * Provider-specific passthrough configuration
 */
export type SpeechRequestProvider = {
    /**
     * Provider-specific options keyed by provider slug. Only options for the matched provider are forwarded; the rest are ignored. Unrecognized keys are silently dropped.
     */
    options?: ProviderOptions | undefined;
};
/**
 * Audio output format
 */
export declare const SpeechRequestResponseFormat: {
    readonly Mp3: "mp3";
    readonly Pcm: "pcm";
};
/**
 * Audio output format
 */
export type SpeechRequestResponseFormat = OpenEnum<typeof SpeechRequestResponseFormat>;
/**
 * Text-to-speech request input
 */
export type SpeechRequest = {
    /**
     * Text to synthesize
     */
    input: string;
    /**
     * Reference content for stateless voice cloning: one `input_audio` part carrying the voice sample, optionally accompanied by one `text` part with its transcript. Only routed to endpoints that support voice cloning.
     */
    inputReferences?: Array<SpeechInputReference> | undefined;
    /**
     * TTS model identifier
     */
    model: string;
    /**
     * Provider-specific passthrough configuration
     */
    provider?: SpeechRequestProvider | undefined;
    /**
     * Audio output format
     */
    responseFormat?: SpeechRequestResponseFormat | undefined;
    /**
     * Playback speed multiplier. Only used by models that support it (e.g. OpenAI TTS). Ignored by other providers.
     */
    speed?: number | undefined;
    /**
     * Voice identifier (provider-specific).
     */
    voice?: string | undefined;
};
/** @internal */
export type SpeechRequestProvider$Outbound = {
    options?: ProviderOptions$Outbound | undefined;
};
/** @internal */
export declare const SpeechRequestProvider$outboundSchema: z.ZodType<SpeechRequestProvider$Outbound, SpeechRequestProvider>;
export declare function speechRequestProviderToJSON(speechRequestProvider: SpeechRequestProvider): string;
/** @internal */
export declare const SpeechRequestResponseFormat$outboundSchema: z.ZodType<string, SpeechRequestResponseFormat>;
/** @internal */
export type SpeechRequest$Outbound = {
    input: string;
    input_references?: Array<SpeechInputReference$Outbound> | undefined;
    model: string;
    provider?: SpeechRequestProvider$Outbound | undefined;
    response_format: string;
    speed?: number | undefined;
    voice?: string | undefined;
};
/** @internal */
export declare const SpeechRequest$outboundSchema: z.ZodType<SpeechRequest$Outbound, SpeechRequest>;
export declare function speechRequestToJSON(speechRequest: SpeechRequest): string;
//# sourceMappingURL=speechrequest.d.ts.map