@ant-design/x-sdk
Version:
placeholder for @ant-design/x-sdk
39 lines (38 loc) • 1.66 kB
TypeScript
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 {};