import { GoogleGenAI } from '@google/genai'; import { type LLMCompletionMessage, type LLMCompletionResult, type LLMInstanceOptions, type LLMModel, LLMProviders, type LLMSendMessageOptions, type LLMStructuredResult } from '../../../LLMService.typedefs'; import { type LLMLoggerInterface } from '../../../utilities/logger'; import { type LLMReporterInterface } from '../../../utilities/reporter'; import { LLMCompletionService } from '../../../services'; import { type LLMSchemaInterface, type InferSchema } from '../../../utilities/schema'; export declare class GoogleGenerativeAICompletionService | undefined> extends LLMCompletionService { constructor(logger: LLMLoggerInterface | undefined, reporter: Reporter, options?: LLMInstanceOptions[LLMProviders.GoogleGenerativeAI]); get instance(): GoogleGenAI; sendMessage(options: LLMSendMessageOptions & { schema: S; }): Promise>>; sendMessage(options: LLMSendMessageOptions): Promise; private sendTextMessage; countTokens(messages: LLMCompletionMessage[], model: LLMModel): Promise; private sendStructuredMessage; /** * Builds the provider-native content array before the request is attempted, * so the success and the error path trace the same transcript rather than one * of them falling back to a raw `{ message, history }` object. It runs outside * the request's `try` on purpose: combining and truncating messages is local * work, and its failure is a configuration error rather than a provider one. */ private prepareRequestMessages; }