import { ChatCompletionCreateParamsNonStreaming, ChatCompletionCreateParamsStreaming, ChatCompletionChunk, ChatCompletion } from "openai/resources.js";
import { GatewayConfig } from "../types/config.js";
type CreateParams = ChatCompletionCreateParamsNonStreaming | ChatCompletionCreateParamsStreaming;
interface APIResponse<T> {
    data: T;
    response: Response;
}
interface APIPromise<T> extends Promise<T> {
    withResponse(): Promise<APIResponse<T>>;
}
export declare class OpenAIClient {
    private config;
    constructor(config: GatewayConfig);
    get chat(): {
        completions: {
            create: <P extends CreateParams>(params: P, options?: {
                signal?: AbortSignal;
            }) => APIPromise<P extends ChatCompletionCreateParamsStreaming ? AsyncIterable<ChatCompletionChunk> : ChatCompletion>;
        };
    };
    private _create;
    private streamChatCompletion;
}
export {};
//# sourceMappingURL=openaiClient.d.ts.map