import * as genkit from 'genkit';
import { z, Genkit } from 'genkit';
import { ModelAction } from 'genkit/model';
import OpenAI from 'openai';

declare const TTSConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
    version: z.ZodOptional<z.ZodString>;
    temperature: z.ZodOptional<z.ZodNumber>;
    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
    voice: z.ZodDefault<z.ZodOptional<z.ZodEnum<["alloy", "echo", "fable", "onyx", "nova", "shimmer"]>>>;
    speed: z.ZodOptional<z.ZodNumber>;
    response_format: z.ZodOptional<z.ZodEnum<["mp3", "opus", "aac", "flac", "wav", "pcm"]>>;
}>, "strip", z.ZodTypeAny, {
    voice: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer";
    response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
    version?: string | undefined;
    temperature?: number | undefined;
    maxOutputTokens?: number | undefined;
    topK?: number | undefined;
    topP?: number | undefined;
    stopSequences?: string[] | undefined;
    speed?: number | undefined;
}, {
    response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
    version?: string | undefined;
    temperature?: number | undefined;
    maxOutputTokens?: number | undefined;
    topK?: number | undefined;
    topP?: number | undefined;
    stopSequences?: string[] | undefined;
    voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
    speed?: number | undefined;
}>;
declare const tts1: genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{
    version: z.ZodOptional<z.ZodString>;
    temperature: z.ZodOptional<z.ZodNumber>;
    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
    voice: z.ZodDefault<z.ZodOptional<z.ZodEnum<["alloy", "echo", "fable", "onyx", "nova", "shimmer"]>>>;
    speed: z.ZodOptional<z.ZodNumber>;
    response_format: z.ZodOptional<z.ZodEnum<["mp3", "opus", "aac", "flac", "wav", "pcm"]>>;
}>, "strip", z.ZodTypeAny, {
    voice: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer";
    response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
    version?: string | undefined;
    temperature?: number | undefined;
    maxOutputTokens?: number | undefined;
    topK?: number | undefined;
    topP?: number | undefined;
    stopSequences?: string[] | undefined;
    speed?: number | undefined;
}, {
    response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
    version?: string | undefined;
    temperature?: number | undefined;
    maxOutputTokens?: number | undefined;
    topK?: number | undefined;
    topP?: number | undefined;
    stopSequences?: string[] | undefined;
    voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
    speed?: number | undefined;
}>>;
declare const tts1Hd: genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{
    version: z.ZodOptional<z.ZodString>;
    temperature: z.ZodOptional<z.ZodNumber>;
    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
    voice: z.ZodDefault<z.ZodOptional<z.ZodEnum<["alloy", "echo", "fable", "onyx", "nova", "shimmer"]>>>;
    speed: z.ZodOptional<z.ZodNumber>;
    response_format: z.ZodOptional<z.ZodEnum<["mp3", "opus", "aac", "flac", "wav", "pcm"]>>;
}>, "strip", z.ZodTypeAny, {
    voice: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer";
    response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
    version?: string | undefined;
    temperature?: number | undefined;
    maxOutputTokens?: number | undefined;
    topK?: number | undefined;
    topP?: number | undefined;
    stopSequences?: string[] | undefined;
    speed?: number | undefined;
}, {
    response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
    version?: string | undefined;
    temperature?: number | undefined;
    maxOutputTokens?: number | undefined;
    topK?: number | undefined;
    topP?: number | undefined;
    stopSequences?: string[] | undefined;
    voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
    speed?: number | undefined;
}>>;
declare const gpt4oMiniTts: genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{
    version: z.ZodOptional<z.ZodString>;
    temperature: z.ZodOptional<z.ZodNumber>;
    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
    voice: z.ZodDefault<z.ZodOptional<z.ZodEnum<["alloy", "echo", "fable", "onyx", "nova", "shimmer"]>>>;
    speed: z.ZodOptional<z.ZodNumber>;
    response_format: z.ZodOptional<z.ZodEnum<["mp3", "opus", "aac", "flac", "wav", "pcm"]>>;
}>, "strip", z.ZodTypeAny, {
    voice: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer";
    response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
    version?: string | undefined;
    temperature?: number | undefined;
    maxOutputTokens?: number | undefined;
    topK?: number | undefined;
    topP?: number | undefined;
    stopSequences?: string[] | undefined;
    speed?: number | undefined;
}, {
    response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
    version?: string | undefined;
    temperature?: number | undefined;
    maxOutputTokens?: number | undefined;
    topK?: number | undefined;
    topP?: number | undefined;
    stopSequences?: string[] | undefined;
    voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
    speed?: number | undefined;
}>>;
declare const SUPPORTED_TTS_MODELS: {
    'tts-1': genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, {
        voice: z.ZodDefault<z.ZodOptional<z.ZodEnum<["alloy", "echo", "fable", "onyx", "nova", "shimmer"]>>>;
        speed: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodEnum<["mp3", "opus", "aac", "flac", "wav", "pcm"]>>;
    }>, "strip", z.ZodTypeAny, {
        voice: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer";
        response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
        version?: string | undefined;
        temperature?: number | undefined;
        maxOutputTokens?: number | undefined;
        topK?: number | undefined;
        topP?: number | undefined;
        stopSequences?: string[] | undefined;
        speed?: number | undefined;
    }, {
        response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
        version?: string | undefined;
        temperature?: number | undefined;
        maxOutputTokens?: number | undefined;
        topK?: number | undefined;
        topP?: number | undefined;
        stopSequences?: string[] | undefined;
        voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
        speed?: number | undefined;
    }>>;
    'tts-1-hd': genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, {
        voice: z.ZodDefault<z.ZodOptional<z.ZodEnum<["alloy", "echo", "fable", "onyx", "nova", "shimmer"]>>>;
        speed: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodEnum<["mp3", "opus", "aac", "flac", "wav", "pcm"]>>;
    }>, "strip", z.ZodTypeAny, {
        voice: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer";
        response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
        version?: string | undefined;
        temperature?: number | undefined;
        maxOutputTokens?: number | undefined;
        topK?: number | undefined;
        topP?: number | undefined;
        stopSequences?: string[] | undefined;
        speed?: number | undefined;
    }, {
        response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
        version?: string | undefined;
        temperature?: number | undefined;
        maxOutputTokens?: number | undefined;
        topK?: number | undefined;
        topP?: number | undefined;
        stopSequences?: string[] | undefined;
        voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
        speed?: number | undefined;
    }>>;
    'gpt-4o-mini-tts': genkit.ModelReference<z.ZodObject<z.objectUtil.extendShape<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, {
        voice: z.ZodDefault<z.ZodOptional<z.ZodEnum<["alloy", "echo", "fable", "onyx", "nova", "shimmer"]>>>;
        speed: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodEnum<["mp3", "opus", "aac", "flac", "wav", "pcm"]>>;
    }>, "strip", z.ZodTypeAny, {
        voice: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer";
        response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
        version?: string | undefined;
        temperature?: number | undefined;
        maxOutputTokens?: number | undefined;
        topK?: number | undefined;
        topP?: number | undefined;
        stopSequences?: string[] | undefined;
        speed?: number | undefined;
    }, {
        response_format?: "mp3" | "opus" | "aac" | "flac" | "wav" | "pcm" | undefined;
        version?: string | undefined;
        temperature?: number | undefined;
        maxOutputTokens?: number | undefined;
        topK?: number | undefined;
        topP?: number | undefined;
        stopSequences?: string[] | undefined;
        voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
        speed?: number | undefined;
    }>>;
};
declare const RESPONSE_FORMAT_MEDIA_TYPES: {
    mp3: string;
    opus: string;
    aac: string;
    flac: string;
    wav: string;
    pcm: string;
};
declare function ttsModel(ai: Genkit, name: string, client: OpenAI): ModelAction<typeof TTSConfigSchema>;

export { RESPONSE_FORMAT_MEDIA_TYPES, SUPPORTED_TTS_MODELS, TTSConfigSchema, gpt4oMiniTts, tts1, tts1Hd, ttsModel };
