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>; export declare const InternalGroupChannelProvider: (props: GroupChannelProviderProps) => React.JSX.Element; declare const GroupChannelManager: React.FC>; declare const GroupChannelProvider: React.FC; 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; sendFileMessage: (params: import("@sendbird/chat/message").FileMessageCreateParams) => Promise; sendMultipleFilesMessage: (params: import("@sendbird/chat/message").MultipleFilesMessageCreateParams) => Promise; updateUserMessage: (messageId: number, params: import("@sendbird/chat/message").UserMessageUpdateParams) => Promise; setNewMessageIds: (ids: number[]) => void; setQuoteMessage: (message: import("../../../utils").SendableMessageType) => void; setAnimatedMessageId: (messageId: number) => void; setIsScrollBottomReached: (isReached: boolean) => void; scrollToBottom: (animated?: boolean) => Promise; scrollToMessage: (createdAt: number, messageId: number, messageFocusAnimated?: boolean, scrollAnimated?: boolean) => Promise; toggleReaction: (message: import("../../../utils").SendableMessageType, emojiKey: string, isReacted: boolean) => void; sendVoiceMessage: (params: import("@sendbird/chat/message").FileMessageCreateParams, duration: number) => Promise; initialized: boolean; loading: boolean; refreshing: boolean; messages: import("@sendbird/chat/message").BaseMessage[]; newMessages: import("@sendbird/chat/message").BaseMessage[]; resetNewMessages: () => void; refresh: () => Promise; loadPrevious: () => Promise; hasPrevious: () => boolean; loadNext: () => Promise; hasNext: () => boolean; sendFileMessages: (paramsList: import("@sendbird/chat/message").FileMessageCreateParams[], onPending?: (message: import("@sendbird/chat/message").FileMessage) => void) => Promise; updateFileMessage: (messageId: number, params: import("@sendbird/chat/message").FileMessageUpdateParams) => Promise; resendMessage: (failedMessage: T) => Promise; deleteMessage: (message: T_1) => Promise; resetWithStartingPoint: (startingPoint: number) => Promise; _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; autoscrollMessageOverflowToTop?: 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; onBeforeSendFileMessage?: import("./types").OnBeforeHandler; onBeforeSendVoiceMessage?: import("./types").OnBeforeHandler; onBeforeSendMultipleFilesMessage?: import("./types").OnBeforeHandler; onBeforeUpdateUserMessage?: import("./types").OnBeforeHandler; onBeforeDownloadFileMessage?: import("./types").OnBeforeDownloadFileMessageType; onBackClick?(): void; onChatHeaderActionClick?(event: React.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>) & ((props: import("../../../types").RenderUserProfileProps) => React.ReactElement>); onStartDirectMessage?: (channel: GroupChannel) => void; onUserProfileMessage?: (channel: GroupChannel) => void; disableUserProfile?: boolean; children?: React.ReactNode; currentChannel: GroupChannel; fetchChannelError: import("@sendbird/chat").SendbirdError; nicknamesMap: Map; quoteMessage: import("../../../utils").SendableMessageType; isScrollBottomReached: boolean; readState: string; newMessageIds: number[]; scrollRef: React.RefObject; scrollDistanceFromBottomRef: React.MutableRefObject; scrollPositionRef: React.MutableRefObject; messageInputRef: React.RefObject; markAsUnreadSourceRef: React.MutableRefObject<"manual" | "internal">; scrollPubSub: import("../../../lib/pubSub").PubSubTypes; }; export { GroupChannelProvider, useGroupChannelContext, GroupChannelManager, };