/** * Google Gemini provider implementation for structured LLM client. * Uses the @google/genai SDK with function calling and structured outputs. */ import type { Content, GenerateContentResponse } from "@google/genai"; import { BaseStructuredLLMProvider } from "./base-provider"; import type { BaseZodToolDefinition, ToolCall, ToolResult, AgentRunOptions, ProviderResponse } from "./types"; import { modelByProvider } from "../provider-and-models"; export type GoogleModel = (typeof modelByProvider.google)[number]; /** * Conversation state for Google provider. * Stores the content history in Google's format. */ interface GoogleConversationState { contents: Content[]; } /** * Google-specific response type using the SDK's GenerateContentResponse. */ type GoogleResponse = ProviderResponse; /** * Google Gemini provider implementation. * Supports function calling with Gemini 3 and structured outputs. */ export declare class GoogleStructuredProvider extends BaseStructuredLLMProvider { protected readonly providerName = "google"; protected initializeConversation(prompt: string): GoogleConversationState; protected callAPI(state: GoogleConversationState, tools: BaseZodToolDefinition[], options: AgentRunOptions): Promise; protected extractSubmitOutput(response: GoogleResponse): unknown; protected extractToolCalls(response: GoogleResponse): ToolCall[]; protected appendToConversation(state: GoogleConversationState, response: GoogleResponse, results: ToolResult[]): void; } export {}; //# sourceMappingURL=google-provider.d.ts.map