UNPKG

@replyke/core

Version:

Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.

34 lines (33 loc) 1.48 kB
import { SendMessageParams } from "./messages/useSendMessage"; import { UseConversationMembersValues } from "./conversations/useConversationMembers"; import { ChatMessage } from "../../interfaces/models/ChatMessage"; export interface UseConversationDataProps { conversationId: string; } export interface UseConversationDataValues { messages: ChatMessage[]; messagesLoading: boolean; hasMore: boolean; loadOlder: () => Promise<void>; send: (params: SendMessageParams) => Promise<ChatMessage>; members: UseConversationMembersValues["members"]; membersLoading: UseConversationMembersValues["loading"]; addMember: UseConversationMembersValues["addMember"]; removeMember: UseConversationMembersValues["removeMember"]; leave: UseConversationMembersValues["leave"]; changeRole: UseConversationMembersValues["changeRole"]; upsertMember: UseConversationMembersValues["upsertMember"]; removeMemberLocally: UseConversationMembersValues["removeMemberLocally"]; mark: ({ messageId }: { messageId: string; }) => Promise<void>; typingUsers: string[]; startTyping: () => void; stopTyping: () => void; } /** * High-level composition hook that powers ConversationProvider. * Combines messages, send, members, read-state, and typing indicators into one object. */ declare function useConversationData({ conversationId, }: UseConversationDataProps): UseConversationDataValues; export default useConversationData;