import { AzureOpenAI, OpenAI } from "openai";
import { LlmCoreProvider, LlmGenerationConfig, LlmMessage, LlmResponse, LlmStreamProviderResponseChunkEvent, LlmStreamResponseEvent } from "../../providers";
import { OpenAiAzureConfig, OpenAIConfig } from "./types";
/** Provides access to OpenAI and other compatible services */
export declare class OpenAIProvider implements LlmCoreProvider {
    static readonly defaultName: string;
    readonly name: string;
    readonly client: OpenAI | AzureOpenAI;
    readonly isAzure: boolean;
    constructor(options?: OpenAiAzureConfig | OpenAIConfig);
    private parseOpenAiError;
    generateResponse(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): Promise<LlmResponse>;
    generateResponseStream(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): AsyncGenerator<LlmStreamProviderResponseChunkEvent | LlmStreamResponseEvent, void, unknown>;
    getAvailableModels(): Promise<string[]>;
    createEmbedding(model: string, text: string, abortSignal?: AbortSignal): Promise<number[]>;
}
