import { OpenAI } from "openai";
import { LlmMessage, LlmCoreProvider, LlmGenerationConfig, LlmResponse, LlmStreamResponse, LlmStreamResponseChunk, LlmStreamResponseWithToolCalls } from "../../providers";
export interface OpenAIConfig {
    apiKey?: string;
    apiUrl?: string;
    name?: string;
}
/** Provides access to OpenAI and other compatible services */
export declare class OpenAIProvider implements LlmCoreProvider {
    readonly name: string;
    readonly client: OpenAI;
    constructor({ apiKey, apiUrl, name }?: OpenAIConfig);
    generateResponse(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): Promise<LlmResponse>;
    generateResponseStream(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): AsyncGenerator<LlmStreamResponseChunk | LlmStreamResponse | LlmStreamResponseWithToolCalls, void, unknown>;
    getAvailableModels(): Promise<string[]>;
    createEmbedding(model: string, text: string): Promise<number[]>;
}
