@difizen/magent-chat
Version:
37 lines • 1.82 kB
TypeScript
import { AsyncModel } from '@difizen/magent-core';
import type { Event, Disposable } from '@difizen/mana-app';
import { DisposableCollection, Emitter } from '@difizen/mana-app';
import type { Dayjs } from 'dayjs';
import { ChatMessageManager } from './chat-message-manager.js';
import type { ChatMessageOption } from './chat-message-model.js';
import { ChatService } from './chat-service.js';
import type { BaseChatMessageItemModel, BaseChatMessageModel, IChatMessage } from './protocol.js';
import { ConversationOption } from './protocol.js';
export declare class DefaultConversationModel extends AsyncModel<DefaultConversationModel, ConversationOption> implements Disposable {
protected messageManager: ChatMessageManager;
protected chatService: ChatService;
protected option: ConversationOption;
protected toDispose: DisposableCollection;
disposed: boolean;
protected onDisposeEmitter: Emitter<void>;
get onDispose(): Event<void>;
protected onMessageEmitter: Emitter<import("./chat-message-item-model.js").DefaultChatMessageItemModel>;
get onMessage(): Event<BaseChatMessageItemModel>;
id?: string;
created?: Dayjs;
modified?: Dayjs;
messages: BaseChatMessageModel[];
protected _title: string;
get title(): string;
set title(v: string);
get previewTitle(): string;
constructor(option: ConversationOption);
shouldInitFromMeta(option: ConversationOption): boolean;
protected fromMeta(option?: ConversationOption): void;
fetchInfo(option: ConversationOption): Promise<void>;
dispose: () => void;
protected toChatMessageOption(msg: IChatMessage): ChatMessageOption;
protected disposeMessage: (msg: BaseChatMessageModel) => void;
sendMessage: (msg: IChatMessage) => void;
}
//# sourceMappingURL=conversation-model.d.ts.map