@plteam/chat-ui
Version:
CUI Kit is a free and open-source library for creating AI assistant chat interfaces, built with React, Material UI, and TypeScript
29 lines (28 loc) • 1.63 kB
TypeScript
import { Message } from './MessageModel';
import { ObservableReactValue } from '../utils/observers';
import { ThreadModel, Thread } from './ThreadModel';
import { AdapterType } from '../views/adapter/AdapterType';
import { MessageSentParams } from './MessageSentParams';
import { ThreadListCache } from './ThreadListCache';
import { EventsEmitter } from './EventsEmitter';
export declare class Threads<DM extends Message, DD extends Thread<DM>> {
readonly list: ObservableReactValue<ThreadModel<DM, DD>[]>;
readonly currentThread: ObservableReactValue<ThreadModel<DM, DD> | undefined>;
readonly listGroups: ThreadListCache;
readonly menuDrawerOpen: ObservableReactValue<boolean>;
readonly deleteItem: ObservableReactValue<Thread<any> | undefined>;
readonly emitter: EventsEmitter;
constructor(adapter: AdapterType, threads: Thread[], onUserMessageSent: (params: MessageSentParams) => void | Promise<void>);
get: (id: DD['id']) => ThreadModel<DM, DD> | undefined;
delete: (id: DD['id']) => void;
/**
* Populates a Thread instance from provided data parameters, or fetches the existing instance
* if it already exists in the list.
*
* @param params - The arguments required to create a Thread instance, including data and a stream function.
* @returns The existing or newly created Thread instance.
*/
createFromData: (data: DD, streamMessage: (params: MessageSentParams<any>) => void | Promise<void>) => ThreadModel<any, DD>;
setMenuDrawerOpen: (v: boolean) => void;
setDeleteItem: (v: Thread | undefined) => void;
}