import { AIModel, AbstractDriver, Completion, CompletionChunk, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions } from "@llumiverse/core";
import { FetchClient } from "@vertesia/api-fetch-client";
import { WatsonAuthToken } from "./interfaces.js";
interface WatsonxDriverOptions extends DriverOptions {
    apiKey: string;
    projectId: string;
    endpointUrl: string;
}
export declare class WatsonxDriver extends AbstractDriver<WatsonxDriverOptions, string> {
    static PROVIDER: string;
    provider: string;
    apiKey: string;
    endpoint_url: string;
    projectId: string;
    authToken?: WatsonAuthToken;
    fetcher?: FetchClient;
    fetchClient: FetchClient;
    constructor(options: WatsonxDriverOptions);
    requestTextCompletion(prompt: string, options: ExecutionOptions): Promise<Completion<any>>;
    requestTextCompletionStream(prompt: string, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunk>>;
    listModels(): Promise<AIModel<string>[]>;
    getAuthToken(): Promise<string>;
    validateConnection(): Promise<boolean>;
    generateEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>;
}
export {};
//# sourceMappingURL=index.d.ts.map