gemini15Flash: ModelReference<
    ZodObject<
        extendShape<
            {
                maxOutputTokens: ZodOptional<ZodNumber>;
                stopSequences: ZodOptional<ZodArray<ZodString, "many">>;
                temperature: ZodOptional<ZodNumber>;
                topK: ZodOptional<ZodNumber>;
                topP: ZodOptional<ZodNumber>;
                version: ZodOptional<ZodString>;
            },
            {
                functionCallingConfig: ZodOptional<
                    ZodObject<
                        {
                            allowedFunctionNames: ZodOptional<ZodArray<ZodString, "many">>;
                            mode: ZodOptional<
                                ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>,
                            >;
                        },
                        "strip",
                        ZodTypeAny,
                        {
                            allowedFunctionNames?: string[];
                            mode?: "MODE_UNSPECIFIED"
                            | "AUTO"
                            | "ANY"
                            | "NONE";
                        },
                        {
                            allowedFunctionNames?: string[];
                            mode?: "MODE_UNSPECIFIED"
                            | "AUTO"
                            | "ANY"
                            | "NONE";
                        },
                    >,
                >;
                googleSearchRetrieval: ZodOptional<
                    ZodObject<
                        { disableAttribution: ZodOptional<ZodBoolean> },
                        "strip",
                        ZodTypeAny,
                        { disableAttribution?: boolean },
                        { disableAttribution?: boolean },
                    >,
                >;
                location: ZodOptional<ZodString>;
                safetySettings: ZodOptional<
                    ZodArray<
                        ZodObject<
                            {
                                category: ZodNativeEnum<typeof HarmCategory>;
                                threshold: ZodNativeEnum<typeof HarmBlockThreshold>;
                            },
                            "strip",
                            ZodTypeAny,
                            { category: HarmCategory; threshold: HarmBlockThreshold },
                            { category: HarmCategory; threshold: HarmBlockThreshold },
                        >,
                        "many",
                    >,
                >;
                vertexRetrieval: ZodOptional<
                    ZodObject<
                        {
                            datastore: ZodObject<
                                {
                                    dataStoreId: ZodString;
                                    location: ZodOptional<ZodString>;
                                    projectId: ZodOptional<ZodString>;
                                },
                                "strip",
                                ZodTypeAny,
                                { dataStoreId: string; location?: string; projectId?: string },
                                { dataStoreId: string; location?: string; projectId?: string },
                            >;
                            disableAttribution: ZodOptional<ZodBoolean>;
                        },
                        "strip",
                        ZodTypeAny,
                        {
                            datastore: {
                                dataStoreId: string;
                                location?: string;
                                projectId?: string;
                            };
                            disableAttribution?: boolean;
                        },
                        {
                            datastore: {
                                dataStoreId: string;
                                location?: string;
                                projectId?: string;
                            };
                            disableAttribution?: boolean;
                        },
                    >,
                >;
            },
        >,
        "strip",
        ZodTypeAny,
        {
            functionCallingConfig?: {
                allowedFunctionNames?: string[];
                mode?: "MODE_UNSPECIFIED"
                | "AUTO"
                | "ANY"
                | "NONE";
            };
            googleSearchRetrieval?: { disableAttribution?: boolean };
            location?: string;
            maxOutputTokens?: number;
            safetySettings?: {
                category: HarmCategory;
                threshold: HarmBlockThreshold;
            }[];
            stopSequences?: string[];
            temperature?: number;
            topK?: number;
            topP?: number;
            version?: string;
            vertexRetrieval?: {
                datastore: {
                    dataStoreId: string;
                    location?: string;
                    projectId?: string;
                };
                disableAttribution?: boolean;
            };
        },
        {
            functionCallingConfig?: {
                allowedFunctionNames?: string[];
                mode?: "MODE_UNSPECIFIED"
                | "AUTO"
                | "ANY"
                | "NONE";
            };
            googleSearchRetrieval?: { disableAttribution?: boolean };
            location?: string;
            maxOutputTokens?: number;
            safetySettings?: {
                category: HarmCategory;
                threshold: HarmBlockThreshold;
            }[];
            stopSequences?: string[];
            temperature?: number;
            topK?: number;
            topP?: number;
            version?: string;
            vertexRetrieval?: {
                datastore: {
                    dataStoreId: string;
                    location?: string;
                    projectId?: string;
                };
                disableAttribution?: boolean;
            };
        },
    >,
> = ...