import { AIModel, Completion, CompletionChunkObject, ExecutionOptions, PromptOptions, PromptSegment } from "@llumiverse/core";
import { VertexAIDriver, GenerateContentPrompt } from "../index.js";
import { ModelDefinition } from "../models.js";
export declare class GeminiModelDefinition implements ModelDefinition<GenerateContentPrompt> {
    model: AIModel;
    constructor(modelId: string);
    preValidationProcessing(result: Completion, options: ExecutionOptions): {
        result: Completion;
        options: ExecutionOptions;
    };
    createPrompt(_driver: VertexAIDriver, segments: PromptSegment[], options: PromptOptions): Promise<GenerateContentPrompt>;
    requestTextCompletion(driver: VertexAIDriver, prompt: GenerateContentPrompt, options: ExecutionOptions): Promise<Completion>;
    requestTextCompletionStream(driver: VertexAIDriver, prompt: GenerateContentPrompt, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>;
}
//# sourceMappingURL=gemini.d.ts.map