import React from "react"; import { CometChat } from "@cometchat-pro/react-native-chat"; import { GroupsStyleInterface } from "./GroupsStyle"; import { ListItemStyleInterface } from "../shared"; import { ImageType } from "../shared"; import { SelectionMode } from "../shared/base/Types"; import { CometChatOptions } from "../shared/modals/CometChatOptions"; import { AvatarStyleInterface } from "../shared/views/CometChatAvatar/AvatarStyle"; import { StatusIndicatorStyleInterface } from "../shared/views/CometChatStatusIndicator/StatusIndicatorStyle"; export interface CometChatGroupsInterface { /** * Custom subtitle view */ SubtitleView?: (item: CometChat.Group) => JSX.Element; /** * Custom list item view */ ListItemView?: (item: CometChat.Group) => JSX.Element; /** * pass compoent for menu, will be shown at top right side */ AppBarOption?: () => JSX.Element; /** * Pass array of CometChatOptions type * Tobe shown on swipe of list item */ options?: (item: CometChat.Group) => CometChatOptions[]; /** * toggle the seperator */ hideSeperator?: boolean; /** * styles for groups */ groupsStyle?: GroupsStyleInterface; /** * styles for list item */ listItemStyle?: ListItemStyleInterface; /** * styles for avatar */ avatarStyle?: AvatarStyleInterface; /** * styles for status indicator */ statusIndicatorStyle?: StatusIndicatorStyleInterface; /** * search placeholder text */ searchPlaceHolderText?: string; /** * back button icon */ backButtonIcon?: ImageType; /** * toggle back button */ showBackButton?: boolean; /** * select items pass "none" | "single" | "multitple" */ selectionMode?: SelectionMode; /** * call back on seleciton is done */ onSelection?: (items: Array) => void; /** * icon for search box */ searchBoxIcon?: ImageType; /** * toggle seearch box */ hideSearch?: boolean; /** * title to be shown default "Groups" */ title?: string; /** * Custom Functional component for empty state */ EmptyStateView?: () => JSX.Element; /** * text to be shown in case no groups found. */ emptyStateText?: string; /** * Custom functional component for error state. */ ErrorStateView?: () => JSX.Element; /** * text to be shown in case error occured while fetching gounps for first time */ errorStateText?: string; /** * Custom image for loading state. */ LoadingStateView?: () => JSX.Element; /** * Request builder to fetch groups. */ groupRequestBuilder?: CometChat.GroupsRequestBuilder; /** * request builder for search */ searchRequestBuilder?: CometChat.GroupsRequestBuilder; /** * pass icon for private group */ privateGroupIcon?: ImageType; /** * pass icon for password group */ passwordGroupIcon?: ImageType; /** * toogle error visibility */ hideError?: boolean; /** * function tobe called on group pressed. */ onItemPress?: (item: CometChat.Group) => void; /** * function tobe called on group long pressed. */ onItemLongPress?: (item: CometChat.Group) => void; /** * function will be called when error occured. */ onError?: (e: CometChat.CometChatException) => void; /** * function will be called when back button pressed. */ onBack?: () => void; } export declare const CometChatGroups: React.ForwardRefExoticComponent>;