import { z, ActionMetadata } from 'genkit'; import { ModelReference, ModelAction } from 'genkit/model'; import { GoogleAIPluginOptions, Model } from './types.js'; import '../common/interaction-types.js'; 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 LyriaConfigSchema: z.ZodObject<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">>; type LyriaConfigSchemaType = typeof LyriaConfigSchema; type LyriaConfig = z.infer; type ConfigSchemaType = LyriaConfigSchemaType; declare const KNOWN_MODELS: { readonly 'lyria-3.5': ModelReference; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">>>; readonly 'lyria-3-clip-preview': ModelReference; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">>>; readonly 'lyria-3-pro-preview': ModelReference; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">>>; }; type KnownModels = keyof typeof KNOWN_MODELS; type LyriaModelName = `lyria-${string}`; declare function isLyriaModelName(value?: string): value is LyriaModelName; declare function model(version: string, config?: LyriaConfig): ModelReference; declare function listActions(models: Model[]): ActionMetadata[]; declare function listKnownModels(options?: GoogleAIPluginOptions): ModelAction; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">>>[]; declare function defineModel(name: string, pluginOptions?: GoogleAIPluginOptions): ModelAction; declare const TEST_ONLY: { KNOWN_MODELS: { readonly 'lyria-3.5': ModelReference; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">>>; readonly 'lyria-3-clip-preview': ModelReference; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">>>; readonly 'lyria-3-pro-preview': ModelReference; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; apiVersion: z.ZodOptional; responseModalities: z.ZodOptional, "many">>; }, z.ZodTypeAny, "passthrough">>>; }; }; export { type KnownModels, type LyriaConfig, LyriaConfigSchema, type LyriaConfigSchemaType, type LyriaModelName, TEST_ONLY, defineModel, isLyriaModelName, listActions, listKnownModels, model };