import { PrivacyConfig } from "../core/privacy.js"; import { AmplitudeLike, AmplitudeOrAI, ChatCompletionResponse, OpenAIResponse, TrackFn } from "../types.js"; import { BaseAIProvider, ProviderCallOptions } from "./base.js"; import { resolveOpenAIProvider } from "../utils/openai-provider.js"; //#region src/providers/openai.d.ts declare const OPENAI_AVAILABLE: boolean; declare const _OpenAIModule: Record | null; interface OpenAIOptions { amplitude: AmplitudeOrAI; apiKey?: string; baseUrl?: string; /** Override provider detection for OpenAI-compatible endpoints. */ provider?: 'openai' | 'fireworks'; privacyConfig?: PrivacyConfig | null; propagateContext?: boolean; /** Pass the `openai` module directly to bypass `tryRequire` (required in bundler environments). */ openaiModule?: unknown; /** * Existing `openai` client to instrument instead of constructing a new one. * Its transport settings (baseURL, fetch, headers, proxy, timeouts) are kept. */ client?: unknown; } declare class OpenAI = Record> extends BaseAIProvider { private _client; readonly chat: WrappedChat; readonly responses: WrappedResponses; private _propagateContext; constructor(options: OpenAIOptions); get client(): TClient; } declare class WrappedChat { readonly completions: WrappedCompletions; constructor(client: unknown, trackFn: TrackFn, amplitude: AmplitudeLike, privacyConfig: PrivacyConfig | null, propagateContext: boolean, providerName?: string); } declare class WrappedCompletions { _original: Record; private _trackFn; private _amplitude; private _privacyConfig; private _propagateContext; private _providerName; constructor(completions: Record, trackFn: TrackFn, amplitude: AmplitudeLike, privacyConfig: PrivacyConfig | null, propagateContext: boolean, providerName?: string); create(params: Record, options?: ProviderCallOptions, requestOptions?: Record): Promise>; parse(params: Record, options?: ProviderCallOptions, requestOptions?: Record): Promise>; private _invoke; private _wrapStream; private _trackInputMessages; } declare class WrappedResponses { _original: Record; private _trackFn; private _amplitude; private _privacyConfig; private _propagateContext; private _providerName; constructor(client: unknown, trackFn: TrackFn, amplitude: AmplitudeLike, privacyConfig: PrivacyConfig | null, propagateContext: boolean, providerName?: string); create(params: Record, options?: ProviderCallOptions, extraRequestOptions?: Record): Promise>; stream(params: Record, options?: ProviderCallOptions, extraRequestOptions?: Record): Promise>; private _wrapStream; private _trackInputMessages; } declare function extractSystemPrompt(params: Record): string | undefined; declare function extractToolDefinitions(params: Record): Array> | undefined; //#endregion export { OPENAI_AVAILABLE, OpenAI, OpenAIOptions, WrappedChat, WrappedCompletions, WrappedResponses, _OpenAIModule, extractSystemPrompt, extractToolDefinitions, resolveOpenAIProvider }; //# sourceMappingURL=openai.d.ts.map