import type { L0Event, L0Adapter } from "../types/l0"; import type { Stream } from "openai/streaming"; import type { ChatCompletionChunk, ChatCompletionCreateParamsStreaming, ChatCompletionTool, ChatCompletionMessageParam } from "openai/resources/chat/completions"; export interface OpenAIClient { chat: { completions: { create(params: ChatCompletionCreateParamsStreaming): Promise | AsyncIterable>; }; }; } export interface OpenAIAdapterOptions { includeUsage?: boolean; includeToolCalls?: boolean; emitFunctionCallsAsTokens?: boolean; choiceIndex?: number | "all"; } export declare function wrapOpenAIStream(stream: Stream | AsyncIterable, options?: OpenAIAdapterOptions): AsyncGenerator; export declare function openaiStream(client: OpenAIClient, params: Omit, options?: OpenAIAdapterOptions): () => Promise>; export declare function openaiText(client: OpenAIClient, model: string, prompt: string | ChatCompletionMessageParam[], options?: Omit & OpenAIAdapterOptions): () => Promise>; export declare function openaiJSON(client: OpenAIClient, model: string, prompt: string | ChatCompletionMessageParam[], options?: Omit & OpenAIAdapterOptions): () => Promise>; export declare function openaiWithTools(client: OpenAIClient, model: string, messages: ChatCompletionMessageParam[], tools: ChatCompletionTool[], options?: Omit & OpenAIAdapterOptions): () => Promise>; export declare function isOpenAIChunk(obj: unknown): obj is ChatCompletionChunk; export declare function extractOpenAIText(stream: Stream | AsyncIterable): Promise; export type OpenAIStream = Stream | AsyncIterable; export declare function isOpenAIStream(input: unknown): input is OpenAIStream; export declare const openaiAdapter: L0Adapter; export type { ChatCompletionChunk, ChatCompletionCreateParamsStreaming, ChatCompletionTool, ChatCompletionMessageParam, }; //# sourceMappingURL=openai.d.ts.map