UNPKG

@ant-design/x-sdk

Version:

placeholder for @ant-design/x-sdk

39 lines (38 loc) 1.66 kB
type ConversationKey = string | number; export declare const chatMessagesStoreHelper: { _chatMessagesStores: Map<string | number, ChatMessagesStore<any>>; get: (conversationKey: ConversationKey) => ChatMessagesStore<any> | undefined; set: (key: ConversationKey, store: ChatMessagesStore<any>) => void; delete: (key: ConversationKey) => void; getMessages: (conversationKey: ConversationKey) => any[] | undefined; }; export declare class ChatMessagesStore<T extends { id: number | string; }> { private messages; private listeners; private conversationKey; private emitListeners; constructor(defaultMessages: T[], conversationKey?: ConversationKey); setMessages: (messages: T[] | ((ori: T[]) => T[])) => boolean; getMessages: () => T[]; getMessage: (id: string | number) => T | undefined; addMessage: (message: T) => boolean; setMessage: (id: string | number, message: Partial<T> | ((message: T) => Partial<T>)) => boolean; removeMessage: (id: string) => boolean; getSnapshot: () => T[]; subscribe: (callback: () => void) => () => void; } type Getter<T> = () => T; export declare function useChatStore<T extends { id: number | string; }>(defaultValue: T[] | Getter<T[]>, conversationKey?: ConversationKey): { messages: T[]; addMessage: (message: T) => boolean; removeMessage: (id: string) => boolean; setMessage: (id: string | number, message: Partial<T> | ((message: T) => Partial<T>)) => boolean; getMessage: (id: string | number) => T | undefined; setMessages: (messages: T[] | ((ori: T[]) => T[])) => boolean; getMessages: () => T[]; }; export {};