import { ConversationChain } from 'langchain/chains'
import { ChatOpenAI, ChatOpenAICallOptions } from 'langchain/chat_models/openai'
import { BufferWindowMemory } from 'langchain/memory'

export declare type LLMTools = {
    llm: ChatOpenAI<ChatOpenAICallOptions>
    usage: {
        completionTokens: number
        promptTokens: number
        totalTokens: number
    }
    conversation(
        system: any,
        k?: number
    ): {
        memory: BufferWindowMemory
        chain: ConversationChain
    }
}
