import * as genkit_model from 'genkit/model';
import * as genkit from 'genkit';
import { z, Genkit, MessageData, GenerateRequest, Part } from 'genkit';
import { AzureOpenAI } from 'openai';
import { ChatCompletionMessageParam, ChatCompletionCreateParamsNonStreaming, ChatCompletionContentPart } from 'openai/resources/index';

type VisualDetailLevel = "low" | "auto" | "high";
declare const OpenAiConfigSchema: z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>;
declare const gpt4o: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt4oMini: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt4: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt45: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt5: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt5Mini: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt5Nano: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt5Chat: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt5Codex: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt5Pro: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt51: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt51Chat: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt51Codex: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt51CodexMini: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt51CodexMax: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt52: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt52Chat: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt52Codex: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gptOss120b: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gptOss20b: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt41: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt41Mini: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt41Nano: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const o1: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const o1Mini: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const o1Preview: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const o3: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const o4Mini: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const o3Mini: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const o3Pro: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const codexMini: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const gpt35Turbo: genkit.ModelReference<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare const SUPPORTED_GPT_MODELS: {
    "o1-mini": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "o1-preview": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    o1: genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    o3: genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "o3-mini": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "o3-pro": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "o4-mini": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "codex-mini": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-4.1": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-4.1-mini": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-4.1-nano": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-4": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-4o": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-4o-mini": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-4.5": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5-mini": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5-nano": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5-chat": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5-codex": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5-pro": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5.1": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5.1-chat": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5.1-codex": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5.1-codex-mini": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5.1-codex-max": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5.2": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5.2-chat": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-5.2-codex": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-oss-120b": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-oss-20b": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    "gpt-3.5-turbo": genkit.ModelReference<z.ZodObject<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        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">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        frequencyPenalty: z.ZodOptional<z.ZodNumber>;
        logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        logProbs: z.ZodOptional<z.ZodBoolean>;
        presencePenalty: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        topLogProbs: z.ZodOptional<z.ZodNumber>;
        user: z.ZodOptional<z.ZodString>;
        visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>>;
};
declare function toOpenAiTextAndMedia(part: Part, visualDetailLevel: VisualDetailLevel): ChatCompletionContentPart;
declare function toOpenAiMessages(messages: MessageData[], visualDetailLevel?: VisualDetailLevel): ChatCompletionMessageParam[];
declare function toOpenAiRequestBody(modelName: string, request: GenerateRequest): ChatCompletionCreateParamsNonStreaming;
/**
 *
 */
declare function gptModel(ai: Genkit, name: string, client: AzureOpenAI): genkit_model.ModelAction<z.ZodObject<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    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">>;
    apiKey: z.ZodOptional<z.ZodString>;
} & {
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    logProbs: z.ZodOptional<z.ZodBoolean>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    topLogProbs: z.ZodOptional<z.ZodNumber>;
    user: z.ZodOptional<z.ZodString>;
    visualDetailLevel: z.ZodOptional<z.ZodEnum<["auto", "low", "high"]>>;
}, z.ZodTypeAny, "passthrough">>>;

export { OpenAiConfigSchema, SUPPORTED_GPT_MODELS, codexMini, gpt35Turbo, gpt4, gpt41, gpt41Mini, gpt41Nano, gpt45, gpt4o, gpt4oMini, gpt5, gpt51, gpt51Chat, gpt51Codex, gpt51CodexMax, gpt51CodexMini, gpt52, gpt52Chat, gpt52Codex, gpt5Chat, gpt5Codex, gpt5Mini, gpt5Nano, gpt5Pro, gptModel, gptOss120b, gptOss20b, o1, o1Mini, o1Preview, o3, o3Mini, o3Pro, o4Mini, toOpenAiMessages, toOpenAiRequestBody, toOpenAiTextAndMedia };
