@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
TypeScript
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;