import OpenAI from 'openai';
import { UnifiedChatRequest, UnifiedChatResponse, UnifiedStreamEventResponse, Tool } from '../../types/unified-api.js';
import BaseProvider from '../base-provider.js';
export declare class OpenAICompletionProvider extends BaseProvider {
    protected client: OpenAI;
    constructor({ apiKey, model, baseURL, tools, logLevel }: {
        apiKey: string;
        model?: string;
        baseURL?: string;
        tools?: Tool[];
        logLevel?: string;
    });
    chat(request: UnifiedChatRequest): Promise<UnifiedChatResponse>;
    private chatWithChatCompletions;
    stream(request: UnifiedChatRequest): AsyncIterableIterator<UnifiedStreamEventResponse>;
    private streamWithChatCompletions;
    private convertToOpenAIFormat;
    private convertResponseFormat;
    private convertFromOpenAIFormat;
    private convertStreamChunk;
    private handleError;
    private mapErrorType;
}
//# sourceMappingURL=completion-provider.d.ts.map