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

declare const DallE3ConfigSchema: 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>;
} & {
    size: z.ZodOptional<z.ZodEnum<["1024x1024", "1792x1024", "1024x1792"]>>;
    style: z.ZodOptional<z.ZodEnum<["vivid", "natural"]>>;
    user: z.ZodOptional<z.ZodString>;
    quality: z.ZodOptional<z.ZodEnum<["standard", "hd"]>>;
    response_format: z.ZodOptional<z.ZodEnum<["b64_json", "url"]>>;
}, "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>;
} & {
    size: z.ZodOptional<z.ZodEnum<["1024x1024", "1792x1024", "1024x1792"]>>;
    style: z.ZodOptional<z.ZodEnum<["vivid", "natural"]>>;
    user: z.ZodOptional<z.ZodString>;
    quality: z.ZodOptional<z.ZodEnum<["standard", "hd"]>>;
    response_format: z.ZodOptional<z.ZodEnum<["b64_json", "url"]>>;
}, 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>;
} & {
    size: z.ZodOptional<z.ZodEnum<["1024x1024", "1792x1024", "1024x1792"]>>;
    style: z.ZodOptional<z.ZodEnum<["vivid", "natural"]>>;
    user: z.ZodOptional<z.ZodString>;
    quality: z.ZodOptional<z.ZodEnum<["standard", "hd"]>>;
    response_format: z.ZodOptional<z.ZodEnum<["b64_json", "url"]>>;
}, z.ZodTypeAny, "passthrough">>;
declare const dallE3: 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>;
} & {
    size: z.ZodOptional<z.ZodEnum<["1024x1024", "1792x1024", "1024x1792"]>>;
    style: z.ZodOptional<z.ZodEnum<["vivid", "natural"]>>;
    user: z.ZodOptional<z.ZodString>;
    quality: z.ZodOptional<z.ZodEnum<["standard", "hd"]>>;
    response_format: z.ZodOptional<z.ZodEnum<["b64_json", "url"]>>;
}, "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>;
} & {
    size: z.ZodOptional<z.ZodEnum<["1024x1024", "1792x1024", "1024x1792"]>>;
    style: z.ZodOptional<z.ZodEnum<["vivid", "natural"]>>;
    user: z.ZodOptional<z.ZodString>;
    quality: z.ZodOptional<z.ZodEnum<["standard", "hd"]>>;
    response_format: z.ZodOptional<z.ZodEnum<["b64_json", "url"]>>;
}, 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>;
} & {
    size: z.ZodOptional<z.ZodEnum<["1024x1024", "1792x1024", "1024x1792"]>>;
    style: z.ZodOptional<z.ZodEnum<["vivid", "natural"]>>;
    user: z.ZodOptional<z.ZodString>;
    quality: z.ZodOptional<z.ZodEnum<["standard", "hd"]>>;
    response_format: z.ZodOptional<z.ZodEnum<["b64_json", "url"]>>;
}, z.ZodTypeAny, "passthrough">>>;
declare function dallE3Model(ai: Genkit, client: AzureOpenAI): ModelAction<typeof DallE3ConfigSchema>;

export { DallE3ConfigSchema, dallE3, dallE3Model };
