import { AIModel, AbstractDriver, Completion, CompletionChunkObject, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, PromptSegment } from "@llumiverse/core";
import { OpenAITextMessage } from "@llumiverse/core/formatters";
import Groq from "groq-sdk";
interface GroqDriverOptions extends DriverOptions {
    apiKey: string;
    endpoint_url?: string;
}
export declare class GroqDriver extends AbstractDriver<GroqDriverOptions, OpenAITextMessage[]> {
    static PROVIDER: string;
    provider: string;
    apiKey: string;
    client: Groq;
    endpointUrl?: string;
    constructor(options: GroqDriverOptions);
    getResponseFormat(_options: ExecutionOptions): undefined;
    protected formatPrompt(segments: PromptSegment[], opts: ExecutionOptions): Promise<OpenAITextMessage[]>;
    requestTextCompletion(messages: OpenAITextMessage[], options: ExecutionOptions): Promise<Completion<any>>;
    requestTextCompletionStream(messages: OpenAITextMessage[], options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>;
    listModels(): Promise<AIModel<string>[]>;
    validateConnection(): Promise<boolean>;
    generateEmbeddings({}: EmbeddingsOptions): Promise<EmbeddingsResult>;
}
export {};
//# sourceMappingURL=index.d.ts.map