import { LangOptions, LanguageProvider } from "../language-provider.ts";
import { LangMessage, LangMessages } from "../messages.ts";
export type GoogleLangOptions = {
    apiKey: string;
    model?: string;
    systemPrompt?: string;
    maxTokens?: number;
    defaultOptions?: LangOptions;
};
export declare class GoogleLang extends LanguageProvider {
    private _apiKey;
    private _model;
    private _systemPrompt;
    private _maxTokens?;
    private modelInfo?;
    constructor(options: GoogleLangOptions);
    ask(prompt: string, options?: LangOptions): Promise<LangMessages>;
    chat(messages: LangMessage[] | LangMessages, options?: LangOptions): Promise<LangMessages>;
    protected transformMessagesForProvider(messages: LangMessages): any[];
    private mapPartsToGemini;
    private imageInputToGeminiInlineData;
    private mapImageItemToGemini;
    private buildInstructions;
    private computeMaxTokens;
    private buildTools;
    private applyCandidates;
    private parseFunctionArgs;
}
