import { PrivacyConfig } from "../core/privacy.js";
import { AmplitudeOrAI } from "../types.js";
import { BaseAIProvider, ProviderTrackOptions } from "./base.js";
import { OPENAI_AVAILABLE } from "./openai.js";

//#region src/providers/azure-openai.d.ts

interface AzureOpenAIOptions {
  amplitude: AmplitudeOrAI;
  apiKey?: string;
  azureEndpoint?: string;
  apiVersion?: string;
  privacyConfig?: PrivacyConfig | null;
  propagateContext?: boolean;
  /** Pass the `openai` module directly to bypass `tryRequire` (required in bundler environments). */
  openaiModule?: unknown;
}
declare class AzureOpenAI extends BaseAIProvider {
  private _client;
  private _propagateContext;
  readonly chat: {
    completions: {
      create: (params: Record<string, unknown>, amplitudeOverrides?: ProviderTrackOptions) => Promise<unknown>;
      parse: (params: Record<string, unknown>, amplitudeOverrides?: ProviderTrackOptions) => Promise<unknown>;
    };
  };
  constructor(options: AzureOpenAIOptions);
  get client(): unknown;
}
//#endregion
export { OPENAI_AVAILABLE as AZURE_OPENAI_AVAILABLE, AzureOpenAI, AzureOpenAIOptions };
//# sourceMappingURL=azure-openai.d.ts.map