import { ConversationConfigModel } from "../schemas/conversationConfig.schema.js"; import { ChatCompletionConfigProperties, ConfigProperties, ConversationConfigProperties } from "../utils/types/index.js"; import { ConversationPluginService } from "./ConversationPluginService.js"; /** * The configuration for a conversation. Contains library specific options and OpenAI's Chat Completion default options. * * @internal * This class is used internally by the library and is not meant to be **instantiated** by consumers of the library. */ export declare class ConversationConfig { private readonly pluginService; model: ChatCompletionConfigProperties["model"]; stream: ChatCompletionConfigProperties["stream"]; frequencyPenalty: ChatCompletionConfigProperties["frequency_penalty"]; presencePenalty: ChatCompletionConfigProperties["presence_penalty"]; maxTokens: ChatCompletionConfigProperties["max_tokens"]; logitBias: ChatCompletionConfigProperties["logit_bias"]; temperature: ChatCompletionConfigProperties["temperature"]; topP: ChatCompletionConfigProperties["top_p"]; user: ChatCompletionConfigProperties["user"]; functionCall: ChatCompletionConfigProperties["function_call"]; private _stop; private _apiKey; disableModeration: ConversationConfigProperties["disableModeration"]; private _context; private _dry; constructor(pluginService: ConversationPluginService, options?: ConversationConfigModel); /** * Serializes the ConversationConfig to JSON. * * @returns The `ConversationConfig` as a JSON object. * * @internal * This method is used internally by the library and is not meant to be used by consumers of the library. */ toJSON(): ConversationConfigModel; /** * Returns the **library-specific** options of the config. */ getConversationConfig(): ConversationConfigProperties; /** * Returns the **OpenAI-specific** options of the config. */ getChatCompletionConfig(): ChatCompletionConfigProperties; /** * Returns both the **library-specific** and **OpenAI-specific** options of the config. */ getConfig(): ConfigProperties; /** * Assigns a new config to the conversation. * * @param config The new config to use. * @param merge Set to `true` to shallow merge the new config with the existing config instead of replacing it. */ setConfig(config: Partial, merge?: boolean): void; get apiKey(): string; set apiKey(apiKey: string); get context(): string; set context(context: string); get dry(): boolean; set dry(dry: boolean); get isModerationEnabled(): boolean; get isModerationStrict(): boolean; get isModerationSoft(): boolean; get stop(): string | string[] | null | undefined; set stop(stop: string | string[] | null | undefined); }