import { AIModel, AbstractDriver, Completion, CompletionChunk, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, PromptSegment } from "@llumiverse/core";
import { OpenAITextMessage } from "@llumiverse/core/formatters";
import { FetchClient } from "@vertesia/api-fetch-client";
import { ResponseFormat } from "./types.js";
interface MistralAIDriverOptions extends DriverOptions {
    apiKey: string;
    endpoint_url?: string;
}
export declare class MistralAIDriver extends AbstractDriver<MistralAIDriverOptions, OpenAITextMessage[]> {
    static PROVIDER: string;
    provider: string;
    apiKey: string;
    client: FetchClient;
    endpointUrl?: string;
    constructor(options: MistralAIDriverOptions);
    getResponseFormat: (_options: ExecutionOptions) => ResponseFormat | undefined;
    protected formatPrompt(segments: PromptSegment[], opts: ExecutionOptions): Promise<OpenAITextMessage[]>;
    requestTextCompletion(messages: OpenAITextMessage[], options: ExecutionOptions): Promise<Completion<any>>;
    requestTextCompletionStream(messages: OpenAITextMessage[], options: ExecutionOptions): Promise<AsyncIterable<CompletionChunk>>;
    listModels(): Promise<AIModel<string>[]>;
    validateConnection(): Promise<boolean>;
    generateEmbeddings({ text, model }: EmbeddingsOptions): Promise<EmbeddingsResult>;
}
export {};
//# sourceMappingURL=index.d.ts.map