/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as core from "../../../../core";
import { OpenAI } from "../../../..";
export declare namespace Chat {
    interface Options {
        token: core.Supplier<core.BearerToken>;
        organization?: core.Supplier<string | undefined>;
        fetcher?: core.FetchFunction;
        streamingFetcher?: core.StreamingFetchFunction;
    }
}
export declare class Chat {
    private readonly options;
    constructor(options: Chat.Options);
    /**
     * Creates a completion for the chat message
     */
    createCompletion(request: OpenAI.CreateChatCompletionRequest & {
        stream?: false;
    }): Promise<OpenAI.CreateChatCompletionResponse>;
    createCompletion(request: OpenAI.CreateChatCompletionRequest & {
        stream: true;
    }, cb: (data: OpenAI.CreateChatCompletionResponseChunk) => void, opts?: Pick<core.StreamingFetcher.Args, "onError" | "onFinish" | "abortController" | "timeoutMs">): Promise<void>;
    private _getAuthorizationHeader;
}
