gemini15Flash: ModelReference<
    ZodObject<
        extendShape<
            {
                maxOutputTokens: ZodOptional<ZodNumber>;
                stopSequences: ZodOptional<ZodArray<ZodString, "many">>;
                temperature: ZodOptional<ZodNumber>;
                topK: ZodOptional<ZodNumber>;
                topP: ZodOptional<ZodNumber>;
                version: ZodOptional<ZodString>;
            },
            {
                codeExecution: ZodOptional<
                    ZodUnion<[ZodBoolean, ZodObject<{}, "strict", ZodTypeAny, {}, {}>]>,
                >;
                contextCache: ZodOptional<ZodBoolean>;
                functionCallingConfig: ZodOptional<
                    ZodObject<
                        {
                            allowedFunctionNames: ZodOptional<ZodArray<ZodString, "many">>;
                            mode: ZodOptional<
                                ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>,
                            >;
                        },
                        "strip",
                        ZodTypeAny,
                        {
                            allowedFunctionNames?: string[];
                            mode?: "ANY"
                            | "MODE_UNSPECIFIED"
                            | "AUTO"
                            | "NONE";
                        },
                        {
                            allowedFunctionNames?: string[];
                            mode?: "ANY"
                            | "MODE_UNSPECIFIED"
                            | "AUTO"
                            | "NONE";
                        },
                    >,
                >;
                safetySettings: ZodOptional<
                    ZodArray<
                        ZodObject<
                            {
                                category: ZodEnum<
                                    [
                                        "HARM_CATEGORY_UNSPECIFIED",
                                        "HARM_CATEGORY_HATE_SPEECH",
                                        "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                                        "HARM_CATEGORY_HARASSMENT",
                                        "HARM_CATEGORY_DANGEROUS_CONTENT",
                                    ],
                                >;
                                threshold: ZodEnum<
                                    [
                                        "BLOCK_LOW_AND_ABOVE",
                                        "BLOCK_MEDIUM_AND_ABOVE",
                                        "BLOCK_ONLY_HIGH",
                                        "BLOCK_NONE",
                                    ],
                                >;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                category: | "HARM_CATEGORY_UNSPECIFIED"
                                | "HARM_CATEGORY_HATE_SPEECH"
                                | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                | "HARM_CATEGORY_HARASSMENT"
                                | "HARM_CATEGORY_DANGEROUS_CONTENT";
                                threshold: | "BLOCK_LOW_AND_ABOVE"
                                | "BLOCK_MEDIUM_AND_ABOVE"
                                | "BLOCK_ONLY_HIGH"
                                | "BLOCK_NONE";
                            },
                            {
                                category: | "HARM_CATEGORY_UNSPECIFIED"
                                | "HARM_CATEGORY_HATE_SPEECH"
                                | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                | "HARM_CATEGORY_HARASSMENT"
                                | "HARM_CATEGORY_DANGEROUS_CONTENT";
                                threshold: | "BLOCK_LOW_AND_ABOVE"
                                | "BLOCK_MEDIUM_AND_ABOVE"
                                | "BLOCK_ONLY_HIGH"
                                | "BLOCK_NONE";
                            },
                        >,
                        "many",
                    >,
                >;
            },
        >,
        "strip",
        ZodTypeAny,
        {
            codeExecution?: boolean
            | {};
            contextCache?: boolean;
            functionCallingConfig?: {
                allowedFunctionNames?: string[];
                mode?: "ANY" | "MODE_UNSPECIFIED" | "AUTO" | "NONE";
            };
            maxOutputTokens?: number;
            safetySettings?: {
                category: | "HARM_CATEGORY_UNSPECIFIED"
                | "HARM_CATEGORY_HATE_SPEECH"
                | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                | "HARM_CATEGORY_HARASSMENT"
                | "HARM_CATEGORY_DANGEROUS_CONTENT";
                threshold: | "BLOCK_LOW_AND_ABOVE"
                | "BLOCK_MEDIUM_AND_ABOVE"
                | "BLOCK_ONLY_HIGH"
                | "BLOCK_NONE";
            }[];
            stopSequences?: string[];
            temperature?: number;
            topK?: number;
            topP?: number;
            version?: string;
        },
        {
            codeExecution?: boolean
            | {};
            contextCache?: boolean;
            functionCallingConfig?: {
                allowedFunctionNames?: string[];
                mode?: "ANY" | "MODE_UNSPECIFIED" | "AUTO" | "NONE";
            };
            maxOutputTokens?: number;
            safetySettings?: {
                category: | "HARM_CATEGORY_UNSPECIFIED"
                | "HARM_CATEGORY_HATE_SPEECH"
                | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                | "HARM_CATEGORY_HARASSMENT"
                | "HARM_CATEGORY_DANGEROUS_CONTENT";
                threshold: | "BLOCK_LOW_AND_ABOVE"
                | "BLOCK_MEDIUM_AND_ABOVE"
                | "BLOCK_ONLY_HIGH"
                | "BLOCK_NONE";
            }[];
            stopSequences?: string[];
            temperature?: number;
            topK?: number;
            topP?: number;
            version?: string;
        },
    >,
> = ...