import { OpenAI } from "openai"; import WebSocket from "ws"; import ioredis from "ioredis"; export declare class YpBaseChatBot { wsClientId: string; wsClientSocket: WebSocket; wsClients: Map; openaiClient: OpenAI; memory: YpBaseChatBotMemoryData; static redisMemoryKeyPrefix: string; temperature: number; maxTokens: number; llmModel: string; persistMemory: boolean; redisKey: string; lastSentToUserAt?: Date; currentAssistantAvatarUrl?: string; destroy(): void; loadMemory(): Promise; redis: ioredis.default; constructor(wsClientId: string, wsClients: Map, redisConnection: ioredis.default, redisKey: string); saveMemory(): Promise; renderSystemPrompt(): string; sendAgentStart(name: string, hasNoStreaming?: boolean): void; sendAgentCompleted(name: string, lastAgent?: boolean, error?: string | undefined): void; sendAgentUpdate(message: string): void; sendToClient(sender: YpSenderType, message: string, type?: YpAssistantMessageType, uniqueToken?: string | undefined, hiddenContextMessage?: boolean): void; streamWebSocketResponses(stream: AsyncIterable): Promise; usesMaxCompletionTokens(modelName: string): boolean; getStreamingChatCompletionParams(messages: OpenAI.Chat.Completions.ChatCompletionMessageParam[]): OpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming; saveMemoryIfNeeded(): Promise; setChatLog(chatLog: YpSimpleChatLog[]): Promise; conversation(chatLog: YpSimpleChatLog[]): Promise; }