UNPKG

@sendbird/uikit-react

Version:

Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.

65 lines (64 loc) 3.83 kB
import { ThreadState } from './ThreadProvider'; import { FileUploadInfoParams } from '../types'; import { GroupChannel, Member } from '@sendbird/chat/groupChannel'; import { CoreMessageType, SendableMessageType } from '../../../utils'; import { EmojiContainer, User } from '@sendbird/chat'; import { BaseMessage, ReactionEvent } from '@sendbird/chat/message'; declare const useThread: () => { state: ThreadState; actions: { initializeThreadFetcher: (callback?: (messages: BaseMessage[]) => void) => Promise<void>; fetchPrevThreads: (callback?: (messages: BaseMessage[]) => void) => Promise<void>; fetchNextThreads: (callback?: (messages: BaseMessage[]) => void) => Promise<void>; initializeThreadListStart: () => void; initializeThreadListSuccess: (parentMessage: BaseMessage, anchorMessage: SendableMessageType, threadedMessages: BaseMessage[]) => void; initializeThreadListFailure: () => void; getPrevMessagesStart: () => void; getPrevMessagesSuccess: (threadedMessages: CoreMessageType[]) => void; getPrevMessagesFailure: () => void; getNextMessagesStart: () => void; getNextMessagesSuccess: (threadedMessages: CoreMessageType[]) => void; getNextMessagesFailure: () => void; updateMessage: (props: { messageId: number; message: string; mentionedUsers?: User[]; mentionTemplate?: string; }) => void; deleteMessage: (message: SendableMessageType) => Promise<void>; onMessageUpdated: (channel: GroupChannel, message: SendableMessageType) => void; onMessageDeleted: (channel: GroupChannel, messageId: number) => void; onMessageDeletedByReqId: (reqId: string | number) => void; sendMessage: (props: import("./hooks/useSendUserMessageCallback").SendMessageParams) => void; sendFileMessage: import("./hooks/useSendFileMessage").SendFileMessageFunctionType; sendVoiceMessage: (file: File, duration: number, quoteMessage: SendableMessageType) => void; sendMultipleFilesMessage: import("../../Channel/context/hooks/useSendMultipleFilesMessage").SendMFMFunctionType; resendMessage: (failedMessage: SendableMessageType) => void; sendMessageStart: (message: SendableMessageType) => void; sendMessageSuccess: (message: SendableMessageType) => void; sendMessageFailure: (message: SendableMessageType) => void; resendMessageStart: (message: SendableMessageType) => void; toggleReaction: (message: BaseMessage, key: string, isReacted: boolean) => void; setCurrentUserId: (currentUserId: string) => void; getChannelStart: () => void; getChannelSuccess: (groupChannel: GroupChannel) => void; getChannelFailure: () => void; getParentMessageStart: () => void; getParentMessageSuccess: (parentMessage: SendableMessageType) => void; getParentMessageFailure: () => void; setEmojiContainer: (emojiContainer: EmojiContainer) => void; onMessageReceived: (channel: GroupChannel, message: SendableMessageType) => void; onReactionUpdated: (reactionEvent: ReactionEvent) => void; onUserMuted: (channel: GroupChannel, user: User) => void; onUserUnmuted: (channel: GroupChannel, user: User) => void; onUserBanned: () => void; onUserUnbanned: () => void; onUserLeft: () => void; onChannelFrozen: () => void; onChannelUnfrozen: () => void; onOperatorUpdated: (channel: GroupChannel) => void; onTypingStatusUpdated: (channel: GroupChannel, typingMembers: Member[]) => void; onFileInfoUpdated: ({ channelUrl, requestId, index, uploadableFileInfo, error, }: FileUploadInfoParams) => void; }; }; export default useThread;