gemini15Flash: ModelReference<
    z.ZodObject<
        z.objectUtil.extendShape<
            {
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                version: z.ZodOptional<z.ZodString>;
            },
            {
                functionCallingConfig: z.ZodOptional<
                    z.ZodObject<
                        {
                            allowedFunctionNames: z.ZodOptional<
                                z.ZodArray<z.ZodString, "many">,
                            >;
                            mode: z.ZodOptional<
                                z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>,
                            >;
                        },
                        "strip",
                        z.ZodTypeAny,
                        {
                            allowedFunctionNames?: string[];
                            mode?: "MODE_UNSPECIFIED"
                            | "AUTO"
                            | "ANY"
                            | "NONE";
                        },
                        {
                            allowedFunctionNames?: string[];
                            mode?: "MODE_UNSPECIFIED"
                            | "AUTO"
                            | "ANY"
                            | "NONE";
                        },
                    >,
                >;
                googleSearchRetrieval: z.ZodOptional<
                    z.ZodObject<
                        { disableAttribution: z.ZodOptional<z.ZodBoolean> },
                        "strip",
                        z.ZodTypeAny,
                        { disableAttribution?: boolean },
                        { disableAttribution?: boolean },
                    >,
                >;
                location: z.ZodOptional<z.ZodString>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                safetySettings: z.ZodOptional<
                    z.ZodArray<
                        z.ZodObject<
                            {
                                category: z.ZodEnum<
                                    [
                                        "HARM_CATEGORY_UNSPECIFIED",
                                        "HARM_CATEGORY_HATE_SPEECH",
                                        "HARM_CATEGORY_DANGEROUS_CONTENT",
                                        "HARM_CATEGORY_HARASSMENT",
                                        "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                                    ],
                                >;
                                threshold: z.ZodEnum<
                                    [
                                        "BLOCK_LOW_AND_ABOVE",
                                        "BLOCK_MEDIUM_AND_ABOVE",
                                        "BLOCK_ONLY_HIGH",
                                        "BLOCK_NONE",
                                    ],
                                >;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                category: | "HARM_CATEGORY_UNSPECIFIED"
                                | "HARM_CATEGORY_HATE_SPEECH"
                                | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                | "HARM_CATEGORY_HARASSMENT"
                                | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                threshold: | "BLOCK_LOW_AND_ABOVE"
                                | "BLOCK_MEDIUM_AND_ABOVE"
                                | "BLOCK_ONLY_HIGH"
                                | "BLOCK_NONE";
                            },
                            {
                                category: | "HARM_CATEGORY_UNSPECIFIED"
                                | "HARM_CATEGORY_HATE_SPEECH"
                                | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                | "HARM_CATEGORY_HARASSMENT"
                                | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                threshold: | "BLOCK_LOW_AND_ABOVE"
                                | "BLOCK_MEDIUM_AND_ABOVE"
                                | "BLOCK_ONLY_HIGH"
                                | "BLOCK_NONE";
                            },
                        >,
                        "many",
                    >,
                >;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                vertexRetrieval: z.ZodOptional<
                    z.ZodObject<
                        {
                            datastore: z.ZodObject<
                                {
                                    dataStoreId: z.ZodString;
                                    location: z.ZodOptional<z.ZodString>;
                                    projectId: z.ZodOptional<z.ZodString>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                { dataStoreId: string; location?: string; projectId?: string },
                                { dataStoreId: string; location?: string; projectId?: string },
                            >;
                            disableAttribution: z.ZodOptional<z.ZodBoolean>;
                        },
                        "strip",
                        z.ZodTypeAny,
                        {
                            datastore: {
                                dataStoreId: string;
                                location?: string;
                                projectId?: string;
                            };
                            disableAttribution?: boolean;
                        },
                        {
                            datastore: {
                                dataStoreId: string;
                                location?: string;
                                projectId?: string;
                            };
                            disableAttribution?: boolean;
                        },
                    >,
                >;
            },
        >,
        "passthrough",
        z.ZodTypeAny,
        z.objectOutputType<
            z.objectUtil.extendShape<
                {
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    version: z.ZodOptional<z.ZodString>;
                },
                {
                    functionCallingConfig: z.ZodOptional<
                        z.ZodObject<
                            {
                                allowedFunctionNames: z.ZodOptional<
                                    z.ZodArray<z.ZodString, "many">,
                                >;
                                mode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                allowedFunctionNames?: string[];
                                mode?: "MODE_UNSPECIFIED"
                                | "AUTO"
                                | "ANY"
                                | "NONE";
                            },
                            {
                                allowedFunctionNames?: string[];
                                mode?: "MODE_UNSPECIFIED"
                                | "AUTO"
                                | "ANY"
                                | "NONE";
                            },
                        >,
                    >;
                    googleSearchRetrieval: z.ZodOptional<
                        z.ZodObject<
                            { disableAttribution: z.ZodOptional<z.ZodBoolean> },
                            "strip",
                            z.ZodTypeAny,
                            { disableAttribution?: boolean },
                            { disableAttribution?: boolean },
                        >,
                    >;
                    location: z.ZodOptional<z.ZodString>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    safetySettings: z.ZodOptional<
                        z.ZodArray<
                            z.ZodObject<
                                {
                                    category: z.ZodEnum<[(...), (...), (...), (...), (...)]>;
                                    threshold: z.ZodEnum<[(...), (...), (...), (...)]>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    category: | "HARM_CATEGORY_UNSPECIFIED"
                                    | "HARM_CATEGORY_HATE_SPEECH"
                                    | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                    | "HARM_CATEGORY_HARASSMENT"
                                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                    threshold: | "BLOCK_LOW_AND_ABOVE"
                                    | "BLOCK_MEDIUM_AND_ABOVE"
                                    | "BLOCK_ONLY_HIGH"
                                    | "BLOCK_NONE";
                                },
                                {
                                    category: | "HARM_CATEGORY_UNSPECIFIED"
                                    | "HARM_CATEGORY_HATE_SPEECH"
                                    | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                    | "HARM_CATEGORY_HARASSMENT"
                                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                    threshold: | "BLOCK_LOW_AND_ABOVE"
                                    | "BLOCK_MEDIUM_AND_ABOVE"
                                    | "BLOCK_ONLY_HIGH"
                                    | "BLOCK_NONE";
                                },
                            >,
                            "many",
                        >,
                    >;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    vertexRetrieval: z.ZodOptional<
                        z.ZodObject<
                            {
                                datastore: z.ZodObject<
                                    {
                                        dataStoreId: z.ZodString;
                                        location: z.ZodOptional<(...)>;
                                        projectId: z.ZodOptional<(...)>;
                                    },
                                    "strip",
                                    z.ZodTypeAny,
                                    {
                                        dataStoreId: string;
                                        location?: (...)
                                        | (...);
                                        projectId?: (...) | (...);
                                    },
                                    {
                                        dataStoreId: string;
                                        location?: (...)
                                        | (...);
                                        projectId?: (...) | (...);
                                    },
                                >;
                                disableAttribution: z.ZodOptional<z.ZodBoolean>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                datastore: {
                                    dataStoreId: string;
                                    location?: string;
                                    projectId?: string;
                                };
                                disableAttribution?: boolean;
                            },
                            {
                                datastore: {
                                    dataStoreId: string;
                                    location?: string;
                                    projectId?: string;
                                };
                                disableAttribution?: boolean;
                            },
                        >,
                    >;
                },
            >,
            z.ZodTypeAny,
            "passthrough",
        >,
        z.objectInputType<
            z.objectUtil.extendShape<
                {
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    version: z.ZodOptional<z.ZodString>;
                },
                {
                    functionCallingConfig: z.ZodOptional<
                        z.ZodObject<
                            {
                                allowedFunctionNames: z.ZodOptional<
                                    z.ZodArray<z.ZodString, "many">,
                                >;
                                mode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                allowedFunctionNames?: string[];
                                mode?: "MODE_UNSPECIFIED"
                                | "AUTO"
                                | "ANY"
                                | "NONE";
                            },
                            {
                                allowedFunctionNames?: string[];
                                mode?: "MODE_UNSPECIFIED"
                                | "AUTO"
                                | "ANY"
                                | "NONE";
                            },
                        >,
                    >;
                    googleSearchRetrieval: z.ZodOptional<
                        z.ZodObject<
                            { disableAttribution: z.ZodOptional<z.ZodBoolean> },
                            "strip",
                            z.ZodTypeAny,
                            { disableAttribution?: boolean },
                            { disableAttribution?: boolean },
                        >,
                    >;
                    location: z.ZodOptional<z.ZodString>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    safetySettings: z.ZodOptional<
                        z.ZodArray<
                            z.ZodObject<
                                {
                                    category: z.ZodEnum<[(...), (...), (...), (...), (...)]>;
                                    threshold: z.ZodEnum<[(...), (...), (...), (...)]>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    category: | "HARM_CATEGORY_UNSPECIFIED"
                                    | "HARM_CATEGORY_HATE_SPEECH"
                                    | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                    | "HARM_CATEGORY_HARASSMENT"
                                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                    threshold: | "BLOCK_LOW_AND_ABOVE"
                                    | "BLOCK_MEDIUM_AND_ABOVE"
                                    | "BLOCK_ONLY_HIGH"
                                    | "BLOCK_NONE";
                                },
                                {
                                    category: | "HARM_CATEGORY_UNSPECIFIED"
                                    | "HARM_CATEGORY_HATE_SPEECH"
                                    | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                    | "HARM_CATEGORY_HARASSMENT"
                                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT";
                                    threshold: | "BLOCK_LOW_AND_ABOVE"
                                    | "BLOCK_MEDIUM_AND_ABOVE"
                                    | "BLOCK_ONLY_HIGH"
                                    | "BLOCK_NONE";
                                },
                            >,
                            "many",
                        >,
                    >;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    vertexRetrieval: z.ZodOptional<
                        z.ZodObject<
                            {
                                datastore: z.ZodObject<
                                    {
                                        dataStoreId: z.ZodString;
                                        location: z.ZodOptional<(...)>;
                                        projectId: z.ZodOptional<(...)>;
                                    },
                                    "strip",
                                    z.ZodTypeAny,
                                    {
                                        dataStoreId: string;
                                        location?: (...)
                                        | (...);
                                        projectId?: (...) | (...);
                                    },
                                    {
                                        dataStoreId: string;
                                        location?: (...)
                                        | (...);
                                        projectId?: (...) | (...);
                                    },
                                >;
                                disableAttribution: z.ZodOptional<z.ZodBoolean>;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                datastore: {
                                    dataStoreId: string;
                                    location?: string;
                                    projectId?: string;
                                };
                                disableAttribution?: boolean;
                            },
                            {
                                datastore: {
                                    dataStoreId: string;
                                    location?: string;
                                    projectId?: string;
                                };
                                disableAttribution?: boolean;
                            },
                        >,
                    >;
                },
            >,
            z.ZodTypeAny,
            "passthrough",
        >,
    >,
> = ...