import { Provider, ChatRequest, ChatResponse, ModelInfo, ChatChunk, ImageRequest, ImageResponse, TranscriptionRequest, TranscriptionResponse, ModerationRequest, ModerationResponse, EmbeddingRequest, EmbeddingResponse } from "../Provider.js"; import { BaseProvider } from "../BaseProvider.js"; import { OpenAIChat } from "./Chat.js"; import { OpenAIStreaming } from "./Streaming.js"; import { OpenAIModels } from "./Models.js"; import { OpenAIImage } from "./Image.js"; import { OpenAITranscription } from "./Transcription.js"; import { OpenAIModeration } from "./Moderation.js"; import { OpenAIEmbedding } from "./Embedding.js"; export interface OpenAIProviderOptions { apiKey: string; baseUrl?: string; } export declare class OpenAIProvider extends BaseProvider implements Provider { protected readonly options: OpenAIProviderOptions; protected baseUrl: string; protected chatHandler: OpenAIChat; protected streamingHandler: OpenAIStreaming; protected modelsHandler: OpenAIModels; protected imageHandler: OpenAIImage; protected transcriptionHandler: OpenAITranscription; protected moderationHandler: OpenAIModeration; protected embeddingHandler: OpenAIEmbedding; capabilities: { supportsVision: (model: string) => boolean; supportsTools: (model: string) => boolean; supportsStructuredOutput: (model: string) => boolean; supportsEmbeddings: (model: string) => boolean; supportsImageGeneration: (model: string) => boolean; supportsTranscription: (model: string) => boolean; supportsModeration: (model: string) => boolean; supportsReasoning: (model: string) => boolean; supportsDeveloperRole: (model: string) => boolean; supportsPrediction: (model: string) => boolean; getContextWindow: (model: string) => number | null; }; constructor(options: OpenAIProviderOptions); apiBase(): string; headers(): Record; protected providerName(): string; defaultModel(feature?: string): string; chat(request: ChatRequest): Promise; stream(request: ChatRequest): AsyncGenerator; listModels(): Promise; paint(request: ImageRequest): Promise; transcribe(request: TranscriptionRequest): Promise; moderate(request: ModerationRequest): Promise; embed(request: EmbeddingRequest): Promise; } //# sourceMappingURL=OpenAIProvider.d.ts.map