import { OpenAICompletionProvider } from '../openai/index.js';
import OpenAI, { AzureOpenAI } from 'openai';
import { TokenCredential } from '@azure/core-auth';
import { UnifiedChatRequest, UnifiedChatResponse, UnifiedStreamEventResponse } from '../../types/unified-api.js';
interface AzureAuth {
    endpoint: string;
    deployment: string;
    apiVersion?: string;
    aadTokenProvider?: () => Promise<TokenCredential>;
    useV1?: boolean;
}
type OpenAIBaseOpts = Omit<ConstructorParameters<typeof OpenAICompletionProvider>[0], 'model'>;
export declare class AzureOpenAIProvider extends OpenAICompletionProvider {
    protected client: OpenAI | AzureOpenAI;
    constructor(auth: AzureAuth, base: OpenAIBaseOpts);
    private initOpenAI_Key;
    private initAzureOpenAI_Key;
    private initAzureOpenAI_AAD;
    chat(request: UnifiedChatRequest): Promise<UnifiedChatResponse>;
    stream(request: UnifiedChatRequest): AsyncIterableIterator<UnifiedStreamEventResponse>;
}
export {};
//# sourceMappingURL=provider.d.ts.map