/**
 * @module teams-ai
 */
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { CreateChatCompletionRequest, CreateChatCompletionResponse, CreateEmbeddingRequest, CreateEmbeddingResponse, CreateModerationRequest, ModerationResponse } from './types';
/**
 * @private
 */
export interface OpenAIClientResponse<TData> {
    status: number;
    statusText: string;
    headers: Record<string, string>;
    data?: TData;
}
/**
 * @private
 */
export interface OpenAIClientOptions {
    apiKey: string;
    organization?: string;
    endpoint?: string;
    headerKey?: string;
    apiVersion?: string;
    ocpApimSubscriptionKey?: string;
}
/**
 * @private
 */
export declare class OpenAIClient {
    private _httpClient;
    private readonly DefaultEndpoint;
    private readonly UserAgent;
    constructor(options: OpenAIClientOptions);
    readonly options: OpenAIClientOptions;
    createChatCompletion(request: CreateChatCompletionRequest): Promise<OpenAIClientResponse<CreateChatCompletionResponse>>;
    createEmbedding(request: CreateEmbeddingRequest): Promise<OpenAIClientResponse<CreateEmbeddingResponse>>;
    createModeration(request: CreateModerationRequest): Promise<OpenAIClientResponse<ModerationResponse>>;
    protected addRequestHeaders(headers: Record<string, string>, options: OpenAIClientOptions): void;
    protected post<TData>(url: string, body: object): Promise<OpenAIClientResponse<TData>>;
}
//# sourceMappingURL=OpenAIClient.d.ts.map