import { AmityCommunityMemberStatusFilter } from '~/communityRepository/constants'; export declare const CommunityPostSettings: Readonly<{ ONLY_ADMIN_CAN_POST: "ONLY_ADMIN_CAN_POST"; ADMIN_REVIEW_POST_REQUIRED: "ADMIN_REVIEW_POST_REQUIRED"; ANYONE_CAN_POST: "ANYONE_CAN_POST"; }>; export declare const CommunityPostSettingMaps: Readonly<{ ONLY_ADMIN_CAN_POST: { needApprovalOnPostCreation: boolean; onlyAdminCanPost: boolean; }; ADMIN_REVIEW_POST_REQUIRED: { needApprovalOnPostCreation: boolean; onlyAdminCanPost: boolean; }; ANYONE_CAN_POST: { needApprovalOnPostCreation: boolean; onlyAdminCanPost: boolean; }; }>; export declare const DefaultCommunityPostSetting = "ONLY_ADMIN_CAN_POST"; export declare enum AmityCommunityType { Default = "default", Event = "event" } declare global { namespace Amity { const enum CommunitySortByEnum { FirstCreated = "firstCreated", LastCreated = "lastCreated", DisplayName = "displayName" } type CommunitySortBy = `${Amity.CommunitySortByEnum}`; const enum SearchCommunitySortByEnum { FirstCreated = "firstCreated", LastCreated = "lastCreated", DisplayName = "displayName" } type SearchCommunitySortBy = `${Amity.SearchCommunitySortByEnum}`; const enum CommunityMemberSortByEnum { FirstCreated = "firstCreated", LastCreated = "lastCreated" } type CommunityMemberSortBy = `${Amity.CommunityMemberSortByEnum}`; const enum SearchCommunityMemberSortByEnum { FirstCreated = "firstCreated", LastCreated = "lastCreated", DisplayName = "displayName" } type SearchCommunityMemberSortBy = `${Amity.SearchCommunityMemberSortByEnum}`; type CommunityActionType = 'onCreate' | 'onUpdate' | 'onDelete' | 'onJoin' | 'onLeft' | 'onMemberCountChanged'; type CommunityMemberActionType = 'onJoin' | 'onLeft' | 'onBan' | 'onUnban' | 'onMemberCountChanged'; type CommunityType = AmityCommunityType; type CommunityMetaData = Record; type RawCommunity = { communityId: string; displayName: string; avatarFileId?: File<'image'>['fileId']; description?: string; channelId: Amity.Channel['channelId']; userId: Amity.InternalUser['userId']; isOfficial?: boolean; isPublic?: boolean; isJoined?: boolean; onlyAdminCanPost?: boolean; needApprovalOnPostCreation?: boolean; postsCount: number; membersCount: number; categoryIds: Amity.InternalCategory['categoryId'][]; hasFlaggedComment: boolean; hasFlaggedPost: boolean; allowCommentInStory?: boolean; isDiscoverable?: boolean; requiresJoinApproval?: boolean; eventId?: Amity.Event['eventId']; type: Amity.CommunityType; } & Amity.Taggable & Amity.Metadata & Amity.Timestamps & Amity.SoftDelete & Amity.Subscribable; type InternalCommunity = Omit & Amity.CommunityStorySettings & { postSetting?: ValueOf; }; type Community = Amity.InternalCommunity & Amity.CommunityLinkedObject; type DiscussionCommunityMetadata = { isEventCommunity: boolean; eventType: Amity.EventType; eventStartTime: string; eventEndTime?: string; }; type QueryCommunities = { membership?: 'all' | 'member' | 'notMember'; categoryId?: Amity.InternalCategory['categoryId']; includeDeleted?: boolean; tags?: Amity.Taggable['tags']; sortBy?: Amity.CommunitySortBy | Amity.CommunitySortByEnum; page?: string; limit?: number; includeDiscoverablePrivateCommunity?: boolean; }; type QueryJoinCommunity = { communityId: string; status: Amity.JoinRequestStatus; sortBy?: Amity.CommunitySortBy | Amity.CommunitySortByEnum; options?: { limit?: number; token?: string; }; }; type SearchQueryCommunities = { displayName?: string; membership?: 'all' | 'member' | 'notMember'; categoryId?: Amity.InternalCategory['categoryId']; includeDeleted?: boolean; tags?: Amity.Taggable['tags']; sortBy?: Amity.SearchCommunitySortBy | Amity.SearchCommunitySortByEnum; page?: string; limit?: number; includeDiscoverablePrivateCommunity?: boolean; }; type QueryJoinRequest = { communityId: string; status: Amity.JoinRequestStatus; targetType: 'community'; type: Amity.JoinRequestType; sortBy?: Amity.CommunitySortBy | Amity.CommunitySortByEnum; options?: { limit?: number; token?: string; }; page?: string; }; type QueryJoinRequestList = { communityIds: string[]; sortBy?: Amity.CommunitySortBy | Amity.CommunitySortByEnum; options?: { limit?: number; token?: string; }; page?: string; }; type CommunityLiveCollection = Amity.LiveCollectionParams>; type RecommendedCommunityLiveCollection = Amity.LiveCollectionParams<{ limit?: number; includeDiscoverablePrivateCommunity?: boolean; }>; type TrendingCommunityLiveCollection = Amity.LiveCollectionParams<{ limit?: number; includeDiscoverablePrivateCommunity?: boolean; }>; type JoinRequestLiveCollection = Amity.LiveCollectionParams; type JoinRequestListLiveCollection = Amity.LiveCollectionParams; type SearchCommunityLiveCollection = Amity.LiveCollectionParams>; type CommunityLiveCollectionCache = Amity.LiveCollectionCache>; type RecommendedCommunityLiveCollectionCache = Amity.CommunityLiveCollectionCache; type TrendingCommunityLiveCollectionCache = Amity.CommunityLiveCollectionCache; type SearchCommunityLiveCollectionCache = Amity.LiveCollectionCache>; type JoinRequestLiveCollectionCache = Amity.LiveCollectionCache>; type JoinRequestListLiveCollectionCache = Amity.LiveCollectionCache>; type QueryCommunityMembers = { communityId: string; memberships?: ('banned' | 'member')[]; roles?: string[]; sortBy?: Amity.CommunityMemberSortByEnum | Amity.CommunityMemberSortBy; page?: string; limit?: number; includeDeleted?: boolean; }; type QuerySearchCommunityMembers = { communityId: string; memberships?: ('banned' | 'member')[]; roles?: string[]; sortBy?: Amity.SearchCommunityMemberSortByEnum | Amity.SearchCommunityMemberSortBy; search?: Amity.InternalUser['displayName'] | Amity.InternalUser['userId']; page?: string; limit?: number; includeDeleted?: boolean; }; type CommunityMemberLiveCollection = Amity.LiveCollectionParams>; type SearchCommunityMemberLiveCollection = Amity.LiveCollectionParams>; type CommunityMemberLiveCollectionCache = Amity.LiveCollectionCache['userId'], Pick>; type SearchCommunityMemberLiveCollectionCache = Amity.LiveCollectionCache>; type QuerySemanticSearchCommunity = { query: string; categoryIds?: string[]; filter?: AmityCommunityMemberStatusFilter; options?: { limit?: number; token?: string; }; tags?: string[]; includeDiscoverablePrivateCommunity?: boolean; }; type SemanticSearchCommunityLiveCollection = Amity.LiveCollectionParams> & { communityMembershipStatus?: AmityCommunityMemberStatusFilter; }; type SemanticSearchCommunityLiveCollectionCache = Amity.LiveCollectionCache; type CommunityLinkedObject = { categories: Amity.Category[]; avatar?: Amity.File<'image'>; createInvitations: (userIds: string[]) => Promise; getMemberInvitations: (params: Pick, callback: Amity.LiveCollectionCallback) => Amity.Unsubscriber; getInvitation: () => Promise; join: () => Promise; getJoinRequests: (params: QueryJoinRequest, callback: Amity.LiveCollectionCallback) => Amity.Unsubscriber; getMyJoinRequest: () => Promise; }; } } //# sourceMappingURL=community.d.ts.map