import { HfInferenceEndpoint } from "@huggingface/inference";
import { AIModel, AbstractDriver, CompletionChunkObject, DriverOptions, EmbeddingsResult, ExecutionOptions } from "@llumiverse/core";
import { FetchClient } from "@vertesia/api-fetch-client";
export interface HuggingFaceIEDriverOptions extends DriverOptions {
    apiKey: string;
    endpoint_url: string;
}
export declare class HuggingFaceIEDriver extends AbstractDriver<HuggingFaceIEDriverOptions, string> {
    static PROVIDER: string;
    provider: string;
    service: FetchClient;
    _executor?: HfInferenceEndpoint;
    constructor(options: HuggingFaceIEDriverOptions);
    getModelURLEndpoint(modelId: string): Promise<{
        url: string;
        status: string;
    }>;
    getExecutor(model: string): Promise<HfInferenceEndpoint>;
    requestTextCompletionStream(prompt: string, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject<any>>>;
    requestTextCompletion(prompt: string, options: ExecutionOptions): Promise<{
        result: string;
        finish_reason: string;
        token_usage: {
            result: number | undefined;
        };
        original_response: import("@huggingface/inference").TextGenerationOutput | undefined;
    }>;
    listModels(): Promise<AIModel[]>;
    validateConnection(): Promise<boolean>;
    generateEmbeddings(): Promise<EmbeddingsResult>;
}
//# sourceMappingURL=huggingface_ie.d.ts.map