/**
 * OpenAI Provider
 *
 * Implements LLMProvider interface for OpenAI's GPT models.
 * Uses openai SDK for API calls.
 */
import type { LLMProvider, AnalyzeOptions, AnalyzeResult, StructuredOptions } from '../types.js';
import { Logger } from '../../../utils/logger.js';
export interface OpenAIProviderConfig {
    apiKey: string;
    model?: string;
    maxTokens?: number;
    temperature?: number;
    baseUrl?: string;
    logger?: Logger;
}
export declare class OpenAIProvider implements LLMProvider {
    readonly name: "openai";
    readonly defaultModel: string;
    private apiKey;
    private maxTokens;
    private temperature;
    private baseUrl;
    private logger;
    private client;
    constructor(config: OpenAIProviderConfig);
    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, model?: string): number;
    isAvailable(): Promise<boolean>;
    getStatus(): Promise<{
        available: boolean;
        latencyMs?: number;
        error?: string;
    }>;
}
//# sourceMappingURL=openai-provider.d.ts.map