/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { BaseMessage } from '@langchain/core/messages';
import { ChatOpenAICompletions } from '@langchain/openai';
import type OpenAI from 'openai';
export declare const REASONING_MAP_KEY = "__nb_reasoning_map";
export declare const collectReasoningMap: (messages: BaseMessage[]) => Map<string, string>;
export declare const patchRequestMessagesReasoning: (request: any, reasoningMap?: Map<string, string>) => void;
export declare class ReasoningChatOpenAI extends ChatOpenAICompletions {
    _generate(messages: BaseMessage[], options: any, runManager?: any): Promise<import("@langchain/core/dist/outputs").ChatResult>;
    _streamResponseChunks(messages: BaseMessage[], options: any, runManager?: any): AsyncGenerator<import("@langchain/core/dist/outputs").ChatGenerationChunk, void, unknown>;
    _convertCompletionsDeltaToBaseMessageChunk(delta: any, rawResponse: any, defaultRole?: any): import("@langchain/core/dist/messages/base").BaseMessageChunk<import("@langchain/core/dist/messages/message").MessageStructure<import("@langchain/core/dist/messages/message").MessageToolSet>, import("@langchain/core/dist/messages/message").MessageType>;
    _convertCompletionsMessageToBaseMessage(message: any, rawResponse: any): BaseMessage<import("@langchain/core/dist/messages/message").MessageStructure<import("@langchain/core/dist/messages/message").MessageToolSet>, import("@langchain/core/dist/messages/message").MessageType>;
    completionWithRetry(request: OpenAI.Chat.ChatCompletionCreateParamsStreaming, requestOptions?: OpenAI.RequestOptions): Promise<AsyncIterable<OpenAI.Chat.Completions.ChatCompletionChunk>>;
    completionWithRetry(request: OpenAI.Chat.ChatCompletionCreateParamsNonStreaming, requestOptions?: OpenAI.RequestOptions): Promise<OpenAI.Chat.Completions.ChatCompletion>;
}
