import { ChatMessage, CompletionOptions, LLMOptions, ModelProvider } from "../../index.js";
import { BaseLLM } from "../index.js";
declare class OpenAI extends BaseLLM {
    useLegacyCompletionsEndpoint: boolean | undefined;
    protected maxStopWords: number | undefined;
    constructor(options: LLMOptions);
    static providerName: ModelProvider;
    static defaultOptions: Partial<LLMOptions>;
    protected _convertMessage(message: ChatMessage): ChatMessage | {
        content: any[];
        role: import("../../index.js").ChatMessageRole;
    };
    protected _convertModelName(model: string): string;
    protected _convertArgs(options: any, messages: ChatMessage[]): {
        messages: (ChatMessage | {
            content: any[];
            role: import("../../index.js").ChatMessageRole;
        })[];
        model: string;
        max_tokens: any;
        temperature: any;
        top_p: any;
        frequency_penalty: any;
        presence_penalty: any;
        stop: any;
    };
    protected _getHeaders(): {
        "Content-Type": string;
        Authorization: string;
        "api-key": string;
    };
    protected _complete(prompt: string, options: CompletionOptions): Promise<string>;
    private _getEndpoint;
    protected _streamComplete(prompt: string, options: CompletionOptions): AsyncGenerator<string>;
    protected _legacystreamComplete(prompt: string, options: CompletionOptions): AsyncGenerator<string>;
    protected _streamChat(messages: ChatMessage[], options: CompletionOptions): AsyncGenerator<ChatMessage>;
    listModels(): Promise<string[]>;
}
export default OpenAI;
//# sourceMappingURL=OpenAI.d.ts.map