/// import type { User } from '@sendbird/chat'; import { GroupChannel } from '@sendbird/chat/groupChannel'; import type { Locale } from 'date-fns'; import { ReplyType, UserListQuery, RenderUserProfileProps, SendBirdProviderConfig, HTMLTextDirection } from '../../types'; import { CustomExtensionParams, SBUEventHandlers, SendbirdChatInitParams } from '../../lib/Sendbird/types'; import { SendableMessageType } from '../../utils'; export interface AppLayoutProps { isReactionEnabled?: boolean; replyType?: 'NONE' | 'QUOTE_REPLY' | 'THREAD'; htmlTextDirection?: HTMLTextDirection; forceLeftToRightMessageLayout?: boolean; isMessageGroupingEnabled?: boolean; isMultipleFilesMessageEnabled?: boolean; autoscrollMessageOverflowToTop?: boolean; allowProfileEdit?: boolean; showSearchIcon?: boolean; onProfileEditSuccess?(user: User): void; disableAutoSelect?: boolean; currentChannel?: GroupChannel; setCurrentChannel: React.Dispatch; enableLegacyChannelModules: boolean; } interface SubLayoutCommonProps { highlightedMessage?: number | null; setHighlightedMessage?: React.Dispatch; startingPoint?: number | null; setStartingPoint: React.Dispatch; threadTargetMessage: SendableMessageType | null; setThreadTargetMessage: React.Dispatch; } export interface MobileLayoutProps extends AppLayoutProps, SubLayoutCommonProps { } export interface DesktopLayoutProps extends AppLayoutProps, SubLayoutCommonProps { showSettings: boolean; setShowSettings: React.Dispatch; showSearch: boolean; setShowSearch: React.Dispatch>; showThread: boolean; setShowThread: React.Dispatch; } export default interface AppProps { appId: string; userId: string; accessToken?: string; customApiHost?: string; customWebSocketHost?: string; theme?: 'light' | 'dark'; userListQuery?(): UserListQuery; nickname?: string; profileUrl?: string; dateLocale?: Locale; allowProfileEdit?: boolean; disableUserProfile?: boolean; showSearchIcon?: boolean; renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement; onProfileEditSuccess?(user: User): void; config?: SendBirdProviderConfig; isReactionEnabled?: boolean; isMessageGroupingEnabled?: boolean; stringSet?: Record; colorSet?: Record; imageCompression?: { compressionRate?: number; resizingWidth?: number | string; resizingHeight?: number | string; }; replyType?: ReplyType; disableAutoSelect?: boolean; isTypingIndicatorEnabledOnChannelList?: boolean; isMessageReceiptStatusEnabledOnChannelList?: boolean; sdkInitParams?: SendbirdChatInitParams; customExtensionParams?: CustomExtensionParams; eventHandlers?: SBUEventHandlers; } export {};