ant-design-x-vue-next
Version:
Ant Design X for Vue — community continuation aligned with @ant-design/x
34 lines (33 loc) • 1.56 kB
TypeScript
import type { AnyObject } from '../_util/type';
import type { SimpleType } from '../use-x-chat';
export interface ConversationData extends AnyObject {
key: string;
}
/**
* Registry of ConversationStore instances (aligned with @ant-design/x-sdk conversationStoreHelper).
*/
export declare const conversationStoreHelper: {
_allConversationStores: Map<string, ConversationStore>;
set(key: string, store: ConversationStore): void;
delete(key: string): void;
getConversation(conversationKey: string): ConversationData;
};
export declare class ConversationStore {
private conversations;
private listeners;
private storeKey;
private activeConversationKey;
constructor(defaultConversations: ConversationData[], defaultActiveConversationKey: string);
private emit;
setActiveConversationKey: (key: string) => boolean;
setConversations: (list: ConversationData[]) => boolean;
getConversation: (key: ConversationData["key"]) => ConversationData;
addConversation: (conversation: ConversationData, placement?: "prepend" | "append") => boolean;
setConversation: (key: ConversationData["key"], conversation: ConversationData) => boolean;
removeConversation: (key: ConversationData["key"]) => boolean;
getMessages: <Message extends SimpleType = SimpleType>(key: ConversationData["key"]) => import("../use-x-chat").MessageInfo<Message>[];
getSnapshot: () => ConversationData[];
getActiveConversationKey: () => string;
subscribe: (callback: () => void) => () => void;
destroy: () => void;
}