import { ChatOpenAI } from '@/llm/openai';
import { ChatGenerationChunk } from '@langchain/core/outputs';
import { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
import type { FunctionMessageChunk, SystemMessageChunk, HumanMessageChunk, ToolMessageChunk, ChatMessageChunk, AIMessageChunk, BaseMessage } from '@langchain/core/messages';
import type { ChatOpenAICallOptions, OpenAIChatInput, OpenAIClient } from '@langchain/openai';
export type OpenRouterReasoningEffort = 'xhigh' | 'high' | 'medium' | 'low' | 'minimal' | 'none';
export interface OpenRouterReasoning {
    effort?: OpenRouterReasoningEffort;
    max_tokens?: number;
    exclude?: boolean;
    enabled?: boolean;
}
export interface ChatOpenRouterCallOptions extends Omit<ChatOpenAICallOptions, 'reasoning'> {
    /** @deprecated Use `reasoning` object instead */
    include_reasoning?: boolean;
    reasoning?: OpenRouterReasoning;
    modelKwargs?: OpenAIChatInput['modelKwargs'];
}
/** invocationParams return type extended with OpenRouter reasoning */
export type OpenRouterInvocationParams = Omit<OpenAIClient.Chat.ChatCompletionCreateParams, 'messages'> & {
    reasoning?: OpenRouterReasoning;
};
export declare class ChatOpenRouter extends ChatOpenAI {
    private openRouterReasoning?;
    /** @deprecated Use `reasoning` object instead */
    private includeReasoning?;
    constructor(_fields: Partial<ChatOpenRouterCallOptions>);
    static lc_name(): 'LibreChatOpenRouter';
    invocationParams(options?: this['ParsedCallOptions'], extra?: {
        streaming?: boolean;
    }): OpenRouterInvocationParams;
    private buildOpenRouterReasoning;
    protected _convertOpenAIDeltaToBaseMessageChunk(delta: Record<string, any>, rawResponse: OpenAIClient.ChatCompletionChunk, defaultRole?: 'function' | 'user' | 'system' | 'developer' | 'assistant' | 'tool'): AIMessageChunk | HumanMessageChunk | SystemMessageChunk | FunctionMessageChunk | ToolMessageChunk | ChatMessageChunk;
    _streamResponseChunks2(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
}
