import { type Part, type GoogleGenAI, type GenerateContentParameters, type Content, type ContentListUnion } from '@google/genai'; import { type CombineMessagesOptions, type LLMCountTokensFunction, type LLMCompletionMessage, type LLMModel, type LLMProviders, type LLMUploadedFile, type LLMFileLimits, type LLMAssistanceMessage, type LLMHistoryEntry } from '../../LLMService.typedefs'; import { type LLMLoggerInterface } from '../../utilities/logger'; export declare class GoogleGenerativeAIEntity { static getContentParameters(options: { model: LLMModel; messages: Content[]; instructions?: string; abortSignal?: AbortSignal; responseConfig?: { responseMimeType?: string; responseSchema?: any; }; }): GenerateContentParameters; static getFileDataParts(uploadedFiles: LLMUploadedFile[]): Pick[]; static getTextParts(messages: string[]): Pick[]; /** * Replays a restored conversation as Gemini `Content` turns: a past tool * round becomes a model turn of `functionCall` parts followed by a user turn * of the `functionResponse` parts answering them, and a context entry becomes * a user turn — Gemini has no mid-conversation system role, so context rides * as the only turn kind it accepts beside a model turn. A result entry * produces no turn of its own; it is emitted with the call it answers. */ static getHistoryContents(history: LLMHistoryEntry[], instance: GoogleGenAI, logger: LLMLoggerInterface | undefined): Promise; private static getToolRoundContents; static getContent(message: LLMCompletionMessage | LLMAssistanceMessage, instance: GoogleGenAI, logger: LLMLoggerInterface | undefined): Promise; private static extractMultimodalContent; private static contentToText; static getCountTokensFn(instance: GoogleGenAI): LLMCountTokensFunction; static combineMessagesWithLimit({ history, message, model, countTokensFn, instance, logger, }: CombineMessagesOptions>): Promise; static get transcribeLimits(): LLMFileLimits; static get transcribeInstructions(): string; }