/**
 * Azure OpenAI Provider
 *
 * Implements LLMProvider interface for Azure-hosted OpenAI models.
 * Uses openai SDK with Azure configuration.
 *
 * Best for: Enterprise environments with Azure compliance requirements
 */
import type { LLMProvider, AnalyzeOptions, AnalyzeResult, StructuredOptions } from '../types.js';
import { Logger } from '../../../utils/logger.js';
export interface AzureOpenAIProviderConfig {
    apiKey: string;
    endpoint: string;
    deployment: string;
    apiVersion?: string;
    maxTokens?: number;
    temperature?: number;
    logger?: Logger;
}
export declare class AzureOpenAIProvider implements LLMProvider {
    readonly name: "azure-openai";
    readonly defaultModel: string;
    private apiKey;
    private endpoint;
    private deployment;
    private apiVersion;
    private maxTokens;
    private temperature;
    private logger;
    private client;
    constructor(config: AzureOpenAIProviderConfig);
    private getClient;
    analyze(prompt: string, options?: AnalyzeOptions): Promise<AnalyzeResult>;
    analyzeStructured<T>(prompt: string, options: StructuredOptions<T>): Promise<{
        data: T;
        usage: AnalyzeResult['usage'];
        estimatedCost: number;
    }>;
    estimateCost(inputTokens: number, outputTokens: number): number;
    isAvailable(): Promise<boolean>;
    getStatus(): Promise<{
        available: boolean;
        latencyMs?: number;
        error?: string;
    }>;
}
//# sourceMappingURL=azure-openai-provider.d.ts.map