/** * Google Gemini LLM adapter * * Supports all Gemini models including the latest Gemini 3 family. * * @packageDocumentation */ import type { LLMProvider, GeminiConfig, CompletionRequest, CompletionResponse } from '../../types/llm.js'; import { BaseLLMAdapter } from './base.js'; /** * Gemini 3 Models (Latest - December 2025) * - gemini-3-pro: Most intelligent, PhD-level reasoning * - gemini-3-flash: Fast frontier performance * - gemini-3-deep-think: Extended reasoning mode */ export declare const GEMINI_3_MODELS: { readonly 'gemini-3-pro': "gemini-3.0-pro"; readonly 'gemini-3-flash': "gemini-3.0-flash"; readonly 'gemini-3-deep-think': "gemini-3.0-deep-think"; }; /** * Gemini 2.5 Models (2025) * - Best price-performance ratio */ export declare const GEMINI_2_5_MODELS: { readonly 'gemini-2.5-pro': "gemini-2.5-pro"; readonly 'gemini-2.5-flash': "gemini-2.5-flash"; readonly 'gemini-2.5-flash-lite': "gemini-2.5-flash-lite"; }; /** * Gemini 2.0 Models (Late 2024 - Early 2025) */ export declare const GEMINI_2_0_MODELS: { readonly 'gemini-2.0-flash': "gemini-2.0-flash"; readonly 'gemini-2.0-flash-exp': "gemini-2.0-flash-exp"; }; /** * Gemini 1.5 Models (Legacy - 2024) */ export declare const GEMINI_1_5_MODELS: { readonly 'gemini-1.5-pro': "gemini-1.5-pro"; readonly 'gemini-1.5-flash': "gemini-1.5-flash"; }; /** * All available Gemini models */ export declare const GEMINI_MODELS: { readonly 'gemini-1.5-pro': "gemini-1.5-pro"; readonly 'gemini-1.5-flash': "gemini-1.5-flash"; readonly 'gemini-2.0-flash': "gemini-2.0-flash"; readonly 'gemini-2.0-flash-exp': "gemini-2.0-flash-exp"; readonly 'gemini-2.5-pro': "gemini-2.5-pro"; readonly 'gemini-2.5-flash': "gemini-2.5-flash"; readonly 'gemini-2.5-flash-lite': "gemini-2.5-flash-lite"; readonly 'gemini-3-pro': "gemini-3.0-pro"; readonly 'gemini-3-flash': "gemini-3.0-flash"; readonly 'gemini-3-deep-think': "gemini-3.0-deep-think"; }; /** * Model alias type for convenient model selection */ export type GeminiModelAlias = keyof typeof GEMINI_MODELS; /** * Resolve a model alias or ID to the full model ID */ export declare function resolveGeminiModel(modelOrAlias: string): string; /** * Adapter for Google Gemini models * * Supports all Gemini models including: * - Gemini 3: gemini-3-pro, gemini-3-flash, gemini-3-deep-think * - Gemini 2.5: gemini-2.5-pro, gemini-2.5-flash * - Gemini 2.0: gemini-2.0-flash * - Legacy: gemini-1.5-pro, gemini-1.5-flash * * Any valid Gemini model ID will work. */ export declare class GeminiAdapter extends BaseLLMAdapter { private readonly baseUrl; constructor(config: GeminiConfig); get provider(): LLMProvider; complete(request: CompletionRequest): Promise; private buildRequest; private executeRequest; private parseResponse; } /** * Create a Gemini adapter from environment variables * * @param model - Model ID or alias (e.g., 'gemini-3-flash', 'gemini-3-pro', 'gemini-2.5-flash') * Use aliases for convenience or full model IDs for specific versions. * Any valid Gemini model ID will work - not limited to the aliases. * * @example * ```typescript * // Using latest fast model * const adapter = createGeminiAdapter('gemini-3-flash'); * * // Using most capable model * const adapter = createGeminiAdapter('gemini-3-pro'); * * // Using cost-effective option * const adapter = createGeminiAdapter('gemini-2.5-flash'); * * // Using a future model (when released) * const adapter = createGeminiAdapter('gemini-4-ultra'); * ``` */ export declare function createGeminiAdapter(model?: GeminiModelAlias | string, overrides?: Partial): GeminiAdapter; /** * List all available Gemini model aliases */ export declare function listGeminiModels(): { alias: string; modelId: string; }[]; //# sourceMappingURL=gemini.d.ts.map