import { z, ActionMetadata } from 'genkit'; import { ModelReference, ModelAction } from 'genkit/model'; import { Model, ClientOptions, VertexPluginOptions } from './types.js'; import 'google-auth-library'; import '../common/types.js'; /** * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ declare const SafetySettingsSchema: 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"]>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">>; /** * Zod schema of Gemini model options. * Please refer to: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#generationconfig, for further information. */ declare const GeminiConfigSchema: z.ZodObject<{ version: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; stopSequences: z.ZodOptional>; } & { apiKey: z.ZodOptional; labels: z.ZodOptional>; temperature: z.ZodOptional; topP: z.ZodOptional; location: z.ZodOptional; safetySettings: z.ZodOptional; threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">>, "many">>; vertexRetrieval: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; googleSearchRetrieval: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; functionCallingConfig: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; retrievalConfig: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingConfig: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ version: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; stopSequences: z.ZodOptional>; } & { apiKey: z.ZodOptional; labels: z.ZodOptional>; temperature: z.ZodOptional; topP: z.ZodOptional; location: z.ZodOptional; safetySettings: z.ZodOptional; threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">>, "many">>; vertexRetrieval: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; googleSearchRetrieval: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; functionCallingConfig: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; retrievalConfig: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingConfig: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ version: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; stopSequences: z.ZodOptional>; } & { apiKey: z.ZodOptional; labels: z.ZodOptional>; temperature: z.ZodOptional; topP: z.ZodOptional; location: z.ZodOptional; safetySettings: z.ZodOptional; threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">>, "many">>; vertexRetrieval: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; googleSearchRetrieval: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; functionCallingConfig: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; retrievalConfig: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingConfig: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; type GeminiConfigSchemaType = typeof GeminiConfigSchema; /** * Gemini model configuration options. * * E.g. * ```js * config: { * temperature: 0.9, * maxOutputTokens: 300, * safetySettings: [ * { * category: 'HARM_CATEGORY_HATE_SPEECH', * threshold: 'BLOCK_LOW_AND_ABOVE', * }, * { * category: 'HARM_CATEGORY_DANGEROUS_CONTENT', * threshold: 'BLOCK_MEDIUM_AND_ABOVE', * }, * { * category: 'HARM_CATEGORY_HARASSMENT', * threshold: 'BLOCK_ONLY_HIGH', * }, * { * category: 'HARM_CATEGORY_SEXUALLY_EXPLICIT', * threshold: 'BLOCK_NONE', * }, * ], * functionCallingConfig: { * mode: 'ANY', * } * } * ``` */ type GeminiConfig = z.infer; declare const GeminiImageConfigSchema: z.ZodObject<{ version: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; stopSequences: z.ZodOptional>; } & { apiKey: z.ZodOptional; labels: z.ZodOptional>; temperature: z.ZodOptional; topP: z.ZodOptional; location: z.ZodOptional; safetySettings: z.ZodOptional; threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">>, "many">>; vertexRetrieval: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; googleSearchRetrieval: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; functionCallingConfig: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; retrievalConfig: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingConfig: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; } & { imageConfig: z.ZodOptional>; imageSize: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ aspectRatio: z.ZodOptional>; imageSize: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ aspectRatio: z.ZodOptional>; imageSize: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ version: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; stopSequences: z.ZodOptional>; } & { apiKey: z.ZodOptional; labels: z.ZodOptional>; temperature: z.ZodOptional; topP: z.ZodOptional; location: z.ZodOptional; safetySettings: z.ZodOptional; threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">>, "many">>; vertexRetrieval: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; googleSearchRetrieval: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; functionCallingConfig: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; retrievalConfig: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingConfig: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; } & { imageConfig: z.ZodOptional>; imageSize: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ aspectRatio: z.ZodOptional>; imageSize: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ aspectRatio: z.ZodOptional>; imageSize: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ version: z.ZodOptional; maxOutputTokens: z.ZodOptional; topK: z.ZodOptional; stopSequences: z.ZodOptional>; } & { apiKey: z.ZodOptional; labels: z.ZodOptional>; temperature: z.ZodOptional; topP: z.ZodOptional; location: z.ZodOptional; safetySettings: z.ZodOptional; threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ 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"]>; }, z.ZodTypeAny, "passthrough">>, "many">>; vertexRetrieval: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ datastore: z.ZodObject<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ projectId: z.ZodOptional; location: z.ZodOptional; dataStoreId: z.ZodString; }, z.ZodTypeAny, "passthrough">>; disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; googleSearchRetrieval: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disableAttribution: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; functionCallingConfig: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ mode: z.ZodOptional>; allowedFunctionNames: z.ZodOptional>; /** * When set to true, arguments of a single function call will be streamed out in * multiple parts/contents/responses. Partial parameter results will be returned in the * [FunctionCall.partial_args] field. This field is not supported in Gemini API. */ streamFunctionCallArguments: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; retrievalConfig: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ /** * User location for search grounding or * place location for maps grounding. */ latLng: z.ZodOptional; longitude: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude?: number | undefined; longitude?: number | undefined; }, { latitude?: number | undefined; longitude?: number | undefined; }>>; /** * Language code for the request. e.g. 'en-us' */ languageCode: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingConfig: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ includeThoughts: z.ZodOptional; thinkingBudget: z.ZodOptional; thinkingLevel: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; } & { imageConfig: z.ZodOptional>; imageSize: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ aspectRatio: z.ZodOptional>; imageSize: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ aspectRatio: z.ZodOptional>; imageSize: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; type GeminiImageConfigSchemaType = typeof GeminiImageConfigSchema; type GeminiImageConfig = z.infer; type ConfigSchemaType = GeminiConfigSchemaType | GeminiImageConfigSchemaType; type ConfigSchema = z.infer; declare const KNOWN_GEMINI_MODELS: { readonly 'gemini-3-pro-preview': ModelReference; readonly 'gemini-2.5-flash-lite': ModelReference; readonly 'gemini-2.5-pro': ModelReference; readonly 'gemini-2.5-flash': ModelReference; readonly 'gemini-2.0-flash-001': ModelReference; readonly 'gemini-2.0-flash': ModelReference; readonly 'gemini-2.0-flash-lite': ModelReference; readonly 'gemini-2.0-flash-lite-001': ModelReference; }; type KnownGeminiModels = keyof typeof KNOWN_GEMINI_MODELS; type GeminiModelName = `gemini-${string}`; declare function isGeminiModelName(value?: string): value is GeminiModelName; declare const KNOWN_IMAGE_MODELS: { readonly 'gemini-3-pro-image-preview': ModelReference; readonly 'gemini-2.5-flash-image': ModelReference; }; type KnownImageModels = keyof typeof KNOWN_IMAGE_MODELS; type ImageModelName = `gemini-${string}-image${string}`; declare function isImageModelName(value?: string): value is ImageModelName; declare const KNOWN_MODELS: { 'gemini-3-pro-image-preview': ModelReference; 'gemini-2.5-flash-image': ModelReference; 'gemini-3-pro-preview': ModelReference; 'gemini-2.5-flash-lite': ModelReference; 'gemini-2.5-pro': ModelReference; 'gemini-2.5-flash': ModelReference; 'gemini-2.0-flash-001': ModelReference; 'gemini-2.0-flash': ModelReference; 'gemini-2.0-flash-lite': ModelReference; 'gemini-2.0-flash-lite-001': ModelReference; }; type KnownModels = keyof typeof KNOWN_MODELS; declare function model(version: string, config?: ConfigSchema): ModelReference; declare function listActions(models: Model[]): ActionMetadata[]; declare function listKnownModels(clientOptions: ClientOptions, pluginOptions?: VertexPluginOptions): ModelAction[]; /** * Define a Vertex AI Gemini model. */ declare function defineModel(name: string, clientOptions: ClientOptions, pluginOptions?: VertexPluginOptions): ModelAction; declare const TEST_ONLY: { KNOWN_GEMINI_MODELS: { readonly 'gemini-3-pro-preview': ModelReference; readonly 'gemini-2.5-flash-lite': ModelReference; readonly 'gemini-2.5-pro': ModelReference; readonly 'gemini-2.5-flash': ModelReference; readonly 'gemini-2.0-flash-001': ModelReference; readonly 'gemini-2.0-flash': ModelReference; readonly 'gemini-2.0-flash-lite': ModelReference; readonly 'gemini-2.0-flash-lite-001': ModelReference; }; KNOWN_IMAGE_MODELS: { readonly 'gemini-3-pro-image-preview': ModelReference; readonly 'gemini-2.5-flash-image': ModelReference; }; KNOWN_MODELS: { 'gemini-3-pro-image-preview': ModelReference; 'gemini-2.5-flash-image': ModelReference; 'gemini-3-pro-preview': ModelReference; 'gemini-2.5-flash-lite': ModelReference; 'gemini-2.5-pro': ModelReference; 'gemini-2.5-flash': ModelReference; 'gemini-2.0-flash-001': ModelReference; 'gemini-2.0-flash': ModelReference; 'gemini-2.0-flash-lite': ModelReference; 'gemini-2.0-flash-lite-001': ModelReference; }; }; export { type GeminiConfig, GeminiConfigSchema, type GeminiConfigSchemaType, type GeminiImageConfig, GeminiImageConfigSchema, type GeminiImageConfigSchemaType, type GeminiModelName, type ImageModelName, KNOWN_GEMINI_MODELS, KNOWN_IMAGE_MODELS, type KnownGeminiModels, type KnownImageModels, type KnownModels, SafetySettingsSchema, TEST_ONLY, defineModel, isGeminiModelName, isImageModelName, listActions, listKnownModels, model };