import { ChatCompletionRole } from 'openai/resources/index.js'; import { Tokenizer, ChatLogs, ChatMessage, ChatLogType } from './index.js'; import { FunctionDefinition } from '../index.js'; export type ChatRole = ChatCompletionRole; export declare class Chat { protected _tokenizer: Tokenizer; protected options?: { onMessagesAdded?: (type: ChatLogType, msgs: ChatMessage[]) => Promise; } | undefined; protected _chatLogs: ChatLogs; constructor(_tokenizer: Tokenizer, options?: { onMessagesAdded?: (type: ChatLogType, msgs: ChatMessage[]) => Promise; } | undefined); get chatLogs(): ChatLogs; get tokens(): number; get tokenizer(): Tokenizer; get messages(): ChatMessage[]; add(type: ChatLogType, msg: ChatMessage | ChatMessage[]): Promise; addWithoutEvents(type: ChatLogType, msg: ChatMessage | ChatMessage[]): void; persistent(role: ChatRole, content: string): Promise; persistent(msg: ChatMessage): Promise; persistent(msgs: ChatMessage[]): Promise; temporary(role: ChatRole, content?: string): Promise; temporary(msg: ChatMessage): Promise; temporary(msgs: ChatMessage[]): Promise; addFunction(fn: FunctionDefinition): void; getLastMessage(type: ChatLogType): ChatMessage | undefined; cloneChatLogs(): ChatLogs; cloneEmpty(): Chat; toString(): string; toJSON(): ChatLogs; }