import { HttpClient, NonNullablePaths, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types'; import { Group, CreateGroupOptions, UpdateGroup, UpdateGroupOptions, DeleteGroupResponse, GetGroupOptions, GetGroupBySlugOptions, GetGroupBySlugResponse, ListGroupsOptions, ListGroupsResponse, QueryGroupsOptions, GroupsQueryBuilder, GroupQuery, QueryGroupsResponse, GroupCreatedEnvelope, GroupDeletedEnvelope, GroupCoverChangedEnvelope, GroupDescriptionChangedEnvelope, GroupUpdatedEnvelope } from './index.typings.js'; export { AccessRestriction, AccessRestrictionDataOneOf, AccountInfo, AccountInfoMetadata, ActionEvent, AllowPolicy, AllowPolicyWithLiterals, BMFeature, BMFeatureWithLiterals, BMFeatures, BaseEventMetadata, CommonQueryWithEntityContext, ContentType, ContentTypeWithLiterals, CoverImage, CreateGroupRequest, CreateGroupResponse, DeleteGroupRequest, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventMetadata, Events, FeedItemPermissions, FeedPermissions, GetGroupBMFeaturesRequest, GetGroupBMFeaturesResponse, GetGroupBySlugRequest, GetGroupIdBySlugRequest, GetGroupIdBySlugResponse, GetGroupMembersGroupIdsRequest, GetGroupMembersGroupIdsResponse, GetGroupRequest, GetGroupResponse, GetPrivacyRequest, GetPrivacyResponse, GlobalFeedPermissions, GroupCoverChanged, GroupDescriptionChanged, GroupDetails, GroupDetailsPosition, GroupIntegrationsData, GroupPermissions, GroupQuerySpec, GroupSettings, GroupWithMsId, GroupsQueryResult, IdentificationData, IdentificationDataIdOneOf, Identity, IdentityType, IdentityTypeWithLiterals, Image, ListGroupIntegrationsDataRequest, ListGroupIntegrationsDataResponse, ListGroupsByUserIdRequest, ListGroupsByUserIdResponse, ListGroupsRequest, Logo, MembershipStatus, MembershipStatusWithLiterals, MessageEnvelope, OnboardingStepSettings, Paging, PagingMetadata, Position, PrivacyStatus, PrivacyStatusWithLiterals, Query, QueryGroupsByMembershipRequest, QueryGroupsByMembershipResponse, QueryGroupsRequest, QueryJoinedGroupsRequest, QueryJoinedGroupsResponse, QueryJoinedGroupsWithMemberRequest, QueryJoinedGroupsWithMemberResponse, RestoreInfo, SortOrder, SortOrderWithLiterals, Sorting, StepKey, StepKeyWithLiterals, Type, TypeWithLiterals, UpdateGroupRequest, UpdateGroupResponse, WebhookIdentityType, WebhookIdentityTypeWithLiterals, utils } from './index.typings.js'; declare function createGroup$1(httpClient: HttpClient): CreateGroupSignature; interface CreateGroupSignature { /** * Creates a group. * * When a group is created, the newly created group is added to the [Groups List](https://support.wix.com/en/article/wix-groups-about-your-groups-pages#groups-group-list) page * of a site. * * Specify a `creatorId` to set the group's creator. The group's creator will automatically become a group admin. See [Terminology](https://dev.wix.com/docs/rest/crm/community/groups/terminology) for more information on roles. * * * Wix users determine who can create a group. * This setting can be found in [a site's Dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fwix-groups/settings?) underĀ **Groups > General Settings > Group Creation**. * If set to **members with approval**, site members can create a group with the Create GroupĀ method, and the group becomes a `createRequest` with a status of `PENDING`. * A Wix user either approves or rejects the request to create a group. * If set to **all site members**, site members can create a group with the Create Group method and no approval is required. * If set to **only admins**, only Wix users can create a group with the Create Group method. * Default is set to **members with approval**. * @param - Group to create. * @param - Optional fields for group creation. * @returns Created group. */ (group: Group, options?: CreateGroupOptions): Promise>; } declare function updateGroup$1(httpClient: HttpClient): UpdateGroupSignature; interface UpdateGroupSignature { /** * Updates a group. * * When a public or private group's name is updated, the slug is updated to reflect the new group name. * Only group admins can update their group. * * > **Notes:** * > + When `group.privacyStatus` is updated from `PRIVATE` to `PUBLIC`, all pending group join requests are automatically approved. * > + When `group.privacyStatus` is updated from `PRIVATE` to `SECRET`, all pending group join requests are automatically rejected. * @param - Group ID. * @returns Updated group. */ (_id: string, group: UpdateGroup, options?: UpdateGroupOptions): Promise>; } declare function deleteGroup$1(httpClient: HttpClient): DeleteGroupSignature; interface DeleteGroupSignature { /** @param - ID of the group to delete. */ (groupId: string): Promise>; } declare function getGroup$1(httpClient: HttpClient): GetGroupSignature; interface GetGroupSignature { /** * Retrieves a group. * * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content. * @param - ID of the group to retrieve. * @returns Retrieved group. */ (groupId: string, options?: GetGroupOptions): Promise>; } declare function getGroupBySlug$1(httpClient: HttpClient): GetGroupBySlugSignature; interface GetGroupBySlugSignature { /** * Retrieves a group by slug. * * The slug is the end of a group's URL that refers to a specific group. * For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`. * Slugs are case-sensitive. It is generally based on the group name, but for secret groups it is an autogenerated string of characters, * for example, `https:/example.com/groups/{5D3yTX}`. * * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content. * @param - Unique part of the group's URL. For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`. Case-sensitive. */ (slug: string, options?: GetGroupBySlugOptions): Promise>; } declare function listGroups$1(httpClient: HttpClient): ListGroupsSignature; interface ListGroupsSignature { /** * Retrieves up to 100 groups. * * * Default sorts by `_createdDate` in descending order. For `SECRET` groups, only group admins and group members can see a list of groups and their content. * * > **Note:** This function's parameters are positional, and must be specified in the sequence shown in the syntax below. When specifying a parameter, use `null` as a placeholder for any unspecified parameters. For example, to specify limit only, call `listGroups(paging, null)`. * @param - Limit and offset options. */ (options?: ListGroupsOptions): Promise>; } declare function queryGroups$1(httpClient: HttpClient): QueryGroupsSignature; interface QueryGroupsSignature { /** * Retrieves up to 100 groups, given the provided paging, filtering, and sorting. * * Supported fields for filtering: * - `title` * * Supported fields for sorting: * - `title` * - `createdDate` * - `membersCount` * - `recentActivityDate` * * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content. */ (options?: QueryGroupsOptions): GroupsQueryBuilder; } declare function typedQueryGroups$1(httpClient: HttpClient): TypedQueryGroupsSignature; interface TypedQueryGroupsSignature { /** */ (query: GroupQuery, options?: QueryGroupsOptions): Promise>; } declare const onGroupCreated$1: EventDefinition; declare const onGroupDeleted$1: EventDefinition; declare const onGroupCoverChanged$1: EventDefinition; declare const onGroupDescriptionChanged$1: EventDefinition; declare const onGroupUpdated$1: EventDefinition; declare const createGroup: MaybeContext & typeof createGroup$1>; declare const updateGroup: MaybeContext & typeof updateGroup$1>; declare const deleteGroup: MaybeContext & typeof deleteGroup$1>; declare const getGroup: MaybeContext & typeof getGroup$1>; declare const getGroupBySlug: MaybeContext & typeof getGroupBySlug$1>; declare const listGroups: MaybeContext & typeof listGroups$1>; declare const queryGroups: MaybeContext & typeof queryGroups$1>; declare const typedQueryGroups: MaybeContext & typeof typedQueryGroups$1>; /** * Triggered when a group is created. */ declare const onGroupCreated: BuildEventDefinition & typeof onGroupCreated$1; /** * Triggered when a group is deleted. */ declare const onGroupDeleted: BuildEventDefinition & typeof onGroupDeleted$1; /** * Triggered when a group's logo is changed. */ declare const onGroupCoverChanged: BuildEventDefinition & typeof onGroupCoverChanged$1; /** * Triggered when a group's description is changed. */ declare const onGroupDescriptionChanged: BuildEventDefinition & typeof onGroupDescriptionChanged$1; /** * Triggered when a group is updated. See payload for more information about the specific trigger. */ declare const onGroupUpdated: BuildEventDefinition & typeof onGroupUpdated$1; export { CreateGroupOptions, DeleteGroupResponse, GetGroupBySlugOptions, GetGroupBySlugResponse, GetGroupOptions, Group, GroupCoverChangedEnvelope, GroupCreatedEnvelope, GroupDeletedEnvelope, GroupDescriptionChangedEnvelope, GroupQuery, GroupUpdatedEnvelope, GroupsQueryBuilder, ListGroupsOptions, ListGroupsResponse, QueryGroupsOptions, QueryGroupsResponse, UpdateGroup, UpdateGroupOptions, createGroup, deleteGroup, getGroup, getGroupBySlug, listGroups, onGroupCoverChanged, onGroupCreated, onGroupDeleted, onGroupDescriptionChanged, onGroupUpdated, queryGroups, typedQueryGroups, updateGroup };