UNPKG

@sendbird/uikit-react

Version:

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

97 lines (96 loc) 7.13 kB
import React from 'react'; import type { GroupChannel } from '@sendbird/chat/groupChannel'; import { ThreadReplySelectType } from './const'; import type { GroupChannelProviderProps, MessageListQueryParamsType, GroupChannelState } from './types'; export declare const GroupChannelContext: React.Context<import("../../../utils/storeManager").Store<GroupChannelState>>; export declare const InternalGroupChannelProvider: (props: GroupChannelProviderProps) => React.JSX.Element; declare const GroupChannelManager: React.FC<React.PropsWithChildren<GroupChannelProviderProps>>; declare const GroupChannelProvider: React.FC<GroupChannelProviderProps>; declare const useGroupChannelContext: () => { setCurrentChannel: (channel: GroupChannel) => void; handleChannelError: (error: import("@sendbird/chat").SendbirdError) => void; markAsReadAll: (channel: GroupChannel) => void; markAsUnread: (message: import("../../../utils").SendableMessageType, source?: "manual" | "internal") => void; setReadStateChanged: (state: string) => void; setFirstUnreadMessageId: (messageId: string | number) => void; sendUserMessage: (params: import("@sendbird/chat/message").UserMessageCreateParams) => Promise<import("@sendbird/chat/message").UserMessage>; sendFileMessage: (params: import("@sendbird/chat/message").FileMessageCreateParams) => Promise<import("@sendbird/chat/message").FileMessage>; sendMultipleFilesMessage: (params: import("@sendbird/chat/message").MultipleFilesMessageCreateParams) => Promise<import("@sendbird/chat/message").MultipleFilesMessage>; updateUserMessage: (messageId: number, params: import("@sendbird/chat/message").UserMessageUpdateParams) => Promise<import("@sendbird/chat/message").UserMessage>; setQuoteMessage: (message: import("../../../utils").SendableMessageType) => void; setAnimatedMessageId: (messageId: number) => void; setIsScrollBottomReached: (isReached: boolean) => void; scrollToBottom: (animated?: boolean) => Promise<void>; scrollToMessage: (createdAt: number, messageId: number, messageFocusAnimated?: boolean, scrollAnimated?: boolean) => Promise<void>; toggleReaction: (message: import("../../../utils").SendableMessageType, emojiKey: string, isReacted: boolean) => void; sendVoiceMessage: (params: import("@sendbird/chat/message").FileMessageCreateParams, duration: number) => Promise<import("@sendbird/chat/message").FileMessage>; initialized: boolean; loading: boolean; refreshing: boolean; messages: import("@sendbird/chat/message").BaseMessage[]; newMessages: import("@sendbird/chat/message").BaseMessage[]; resetNewMessages: () => void; refresh: () => Promise<void>; loadPrevious: () => Promise<void>; hasPrevious: () => boolean; loadNext: () => Promise<void>; hasNext: () => boolean; sendFileMessages: (paramsList: import("@sendbird/chat/message").FileMessageCreateParams[], onPending?: (message: import("@sendbird/chat/message").FileMessage) => void) => Promise<import("@sendbird/chat/message").FileMessage[]>; updateFileMessage: (messageId: number, params: import("@sendbird/chat/message").FileMessageUpdateParams) => Promise<import("@sendbird/chat/message").FileMessage>; resendMessage: <T extends import("@sendbird/chat/message").UserMessage | import("@sendbird/chat/message").FileMessage | import("@sendbird/chat/message").MultipleFilesMessage>(failedMessage: T) => Promise<T>; deleteMessage: <T_1 extends import("@sendbird/chat/message").UserMessage | import("@sendbird/chat/message").FileMessage | import("@sendbird/chat/message").MultipleFilesMessage>(message: T_1) => Promise<void>; resetWithStartingPoint: (startingPoint: number) => Promise<void>; _dangerous_reducer_updateMessages: (messages: import("@sendbird/chat/message").BaseMessage[], clearBeforeAction: boolean, currentUserId?: string, strictStreamingOrder?: boolean) => void; _dangerous_reducer_deleteMessages: (messageIds: number[], reqIds: string[]) => void; channelUrl: string; isReactionEnabled?: boolean; isMessageGroupingEnabled?: boolean; isMultipleFilesMessageEnabled?: boolean; showSearchIcon?: boolean; replyType?: import("../../../types").ReplyType; threadReplySelectType?: ThreadReplySelectType; disableMarkAsRead?: boolean; scrollBehavior?: "auto" | "smooth"; forceLeftToRightMessageLayout?: boolean; startingPoint?: number; animatedMessageId?: number; onMessageAnimated?: () => void; messageListQueryParams?: MessageListQueryParamsType; filterEmojiCategoryIds?: (message: import("../../../utils").SendableMessageType) => number[]; onBeforeSendUserMessage?: import("./types").OnBeforeHandler<import("@sendbird/chat/message").UserMessageCreateParams>; onBeforeSendFileMessage?: import("./types").OnBeforeHandler<import("@sendbird/chat/message").FileMessageCreateParams>; onBeforeSendVoiceMessage?: import("./types").OnBeforeHandler<import("@sendbird/chat/message").FileMessageCreateParams>; onBeforeSendMultipleFilesMessage?: import("./types").OnBeforeHandler<import("@sendbird/chat/message").MultipleFilesMessageCreateParams>; onBeforeUpdateUserMessage?: import("./types").OnBeforeHandler<import("@sendbird/chat/message").UserMessageUpdateParams>; onBeforeDownloadFileMessage?: import("./types").OnBeforeDownloadFileMessageType; onBackClick?(): void; onChatHeaderActionClick?(event: React.MouseEvent<HTMLElement, MouseEvent>): void; onReplyInThreadClick?: (props: { message: import("../../../utils").SendableMessageType; }) => void; onSearchClick?(): void; onQuoteMessageClick?: (props: { message: import("../../../utils").SendableMessageType; }) => void; renderUserMentionItem?: (props: { user: import("@sendbird/chat").User; }) => JSX.Element; renderUserProfile?: ((props: import("../../../types").RenderUserProfileProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) & ((props: import("../../../types").RenderUserProfileProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>); onStartDirectMessage?: (channel: GroupChannel) => void; onUserProfileMessage?: (channel: GroupChannel) => void; disableUserProfile?: boolean; children?: React.ReactNode; currentChannel: GroupChannel; fetchChannelError: import("@sendbird/chat").SendbirdError; nicknamesMap: Map<string, string>; quoteMessage: import("../../../utils").SendableMessageType; isScrollBottomReached: boolean; readState: string; scrollRef: React.RefObject<HTMLDivElement>; scrollDistanceFromBottomRef: React.MutableRefObject<number>; scrollPositionRef: React.MutableRefObject<number>; messageInputRef: React.RefObject<HTMLDivElement>; markAsUnreadSourceRef: React.MutableRefObject<"manual" | "internal">; scrollPubSub: import("../../../lib/pubSub").PubSubTypes<import("./hooks/useMessageListScroll").ScrollTopics, import("./hooks/useMessageListScroll").ScrollTopicUnion>; }; export { GroupChannelProvider, useGroupChannelContext, GroupChannelManager, };