{"version":3,"sources":["../../src/social-groups-v2-group-groups.public.ts","../../src/social-groups-v2-group-groups.universal.ts","../../src/social-groups-v2-group-groups.http.ts","../../src/social-groups-v2-group-groups.context.ts"],"sourcesContent":["import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n  CreateGroupOptions,\n  DeleteGroupResponse,\n  GetGroupBySlugOptions,\n  GetGroupBySlugResponse,\n  GetGroupOptions,\n  Group,\n  GroupCoverChangedEnvelope,\n  GroupCreatedEnvelope,\n  GroupDeletedEnvelope,\n  GroupDescriptionChangedEnvelope,\n  GroupQuery,\n  GroupUpdatedEnvelope,\n  GroupsQueryBuilder,\n  ListGroupsOptions,\n  ListGroupsResponse,\n  QueryGroupsOptions,\n  QueryGroupsResponse,\n  UpdateGroup,\n  UpdateGroupOptions,\n  createGroup as universalCreateGroup,\n  deleteGroup as universalDeleteGroup,\n  getGroup as universalGetGroup,\n  getGroupBySlug as universalGetGroupBySlug,\n  listGroups as universalListGroups,\n  queryGroups as universalQueryGroups,\n  typedQueryGroups as universalTypedQueryGroups,\n  updateGroup as universalUpdateGroup,\n} from './social-groups-v2-group-groups.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/groups' };\n\nexport function createGroup(httpClient: HttpClient): CreateGroupSignature {\n  return (group: Group, options?: CreateGroupOptions) =>\n    universalCreateGroup(\n      group,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateGroupSignature {\n  /**\n   * Creates a group.\n   *\n   * 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\n   * of a site.\n   *\n   * 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.\n   *\n   *\n   * Wix users determine who can create a group.\n   * 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**.\n   * 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`.\n   * A Wix user either approves or rejects the request to create a group.\n   * If set to **all site members**, site members can create a group with the Create Group method and no approval is required.\n   * If set to **only admins**, only Wix users can create a group with the Create Group method.\n   * Default is set to **members with approval**.\n   * @param - Group to create.\n   * @param - Optional fields for group creation.\n   * @returns Created group.\n   */\n  (group: Group, options?: CreateGroupOptions): Promise<\n    NonNullablePaths<\n      Group,\n      | `privacyStatus`\n      | `coverImage.position.x`\n      | `coverImage.position.y`\n      | `settings.allowedToInviteMembers`\n      | `settings.allowedToApproveJoinRequests`,\n      4\n    >\n  >;\n}\n\nexport function updateGroup(httpClient: HttpClient): UpdateGroupSignature {\n  return (_id: string, group: UpdateGroup, options?: UpdateGroupOptions) =>\n    universalUpdateGroup(\n      _id,\n      group,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateGroupSignature {\n  /**\n   * Updates a group.\n   *\n   * When a public or private group's name is updated, the slug is updated to reflect the new group name.\n   * Only group admins can update their group.\n   *\n   * > **Notes:**\n   * > + When `group.privacyStatus` is updated from `PRIVATE` to `PUBLIC`, all pending group join requests are automatically approved.\n   * > + When `group.privacyStatus` is updated from `PRIVATE` to `SECRET`, all pending group join requests are automatically rejected.\n   * @param - Group ID.\n   * @returns Updated group.\n   */\n  (_id: string, group: UpdateGroup, options?: UpdateGroupOptions): Promise<\n    NonNullablePaths<\n      Group,\n      | `privacyStatus`\n      | `coverImage.position.x`\n      | `coverImage.position.y`\n      | `settings.allowedToInviteMembers`\n      | `settings.allowedToApproveJoinRequests`,\n      4\n    >\n  >;\n}\n\nexport function deleteGroup(httpClient: HttpClient): DeleteGroupSignature {\n  return (groupId: string) =>\n    universalDeleteGroup(\n      groupId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface DeleteGroupSignature {\n  /** @param - ID of the group to delete. */\n  (groupId: string): Promise<\n    NonNullablePaths<\n      DeleteGroupResponse,\n      | `group.privacyStatus`\n      | `group.coverImage.position.x`\n      | `group.coverImage.position.y`\n      | `group.settings.allowedToInviteMembers`\n      | `group.settings.allowedToApproveJoinRequests`,\n      5\n    >\n  >;\n}\n\nexport function getGroup(httpClient: HttpClient): GetGroupSignature {\n  return (groupId: string, options?: GetGroupOptions) =>\n    universalGetGroup(\n      groupId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetGroupSignature {\n  /**\n   * Retrieves a group.\n   *\n   * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n   * @param - ID of the group to retrieve.\n   * @returns Retrieved group.\n   */\n  (groupId: string, options?: GetGroupOptions): Promise<\n    NonNullablePaths<\n      Group,\n      | `privacyStatus`\n      | `coverImage.position.x`\n      | `coverImage.position.y`\n      | `settings.allowedToInviteMembers`\n      | `settings.allowedToApproveJoinRequests`,\n      4\n    >\n  >;\n}\n\nexport function getGroupBySlug(\n  httpClient: HttpClient\n): GetGroupBySlugSignature {\n  return (slug: string, options?: GetGroupBySlugOptions) =>\n    universalGetGroupBySlug(\n      slug,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetGroupBySlugSignature {\n  /**\n   * Retrieves a group by slug.\n   *\n   * The slug is the end of a group's URL that refers to a specific group.\n   * For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`.\n   * Slugs are case-sensitive. It is generally based on the group name, but for secret groups it is an autogenerated string of characters,\n   * for example, `https:/example.com/groups/{5D3yTX}`.\n   *\n   * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n   * @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.\n   */\n  (slug: string, options?: GetGroupBySlugOptions): Promise<\n    NonNullablePaths<\n      GetGroupBySlugResponse,\n      | `group.privacyStatus`\n      | `group.coverImage.position.x`\n      | `group.coverImage.position.y`\n      | `group.settings.allowedToInviteMembers`\n      | `group.settings.allowedToApproveJoinRequests`,\n      5\n    >\n  >;\n}\n\nexport function listGroups(httpClient: HttpClient): ListGroupsSignature {\n  return (options?: ListGroupsOptions) =>\n    universalListGroups(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ListGroupsSignature {\n  /**\n   * Retrieves up to 100 groups.\n   *\n   *\n   * 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.\n   *\n   * > **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)`.\n   * @param - Limit and offset options.\n   */\n  (options?: ListGroupsOptions): Promise<\n    NonNullablePaths<\n      ListGroupsResponse,\n      | `groups`\n      | `groups.${number}.privacyStatus`\n      | `groups.${number}.coverImage.position.x`\n      | `groups.${number}.coverImage.position.y`\n      | `groups.${number}.settings.allowedToInviteMembers`\n      | `groups.${number}.settings.allowedToApproveJoinRequests`,\n      6\n    >\n  >;\n}\n\nexport function queryGroups(httpClient: HttpClient): QueryGroupsSignature {\n  return (options?: QueryGroupsOptions) =>\n    universalQueryGroups(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryGroupsSignature {\n  /**\n   * Retrieves up to 100 groups, given the provided paging, filtering, and sorting.\n   *\n   * Supported fields for filtering:\n   * - `title`\n   *\n   * Supported fields for sorting:\n   * - `title`\n   * - `createdDate`\n   * - `membersCount`\n   * - `recentActivityDate`\n   *\n   * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n   */\n  (options?: QueryGroupsOptions): GroupsQueryBuilder;\n}\n\nexport function typedQueryGroups(\n  httpClient: HttpClient\n): TypedQueryGroupsSignature {\n  return (query: GroupQuery, options?: QueryGroupsOptions) =>\n    universalTypedQueryGroups(\n      query,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface TypedQueryGroupsSignature {\n  /** */\n  (query: GroupQuery, options?: QueryGroupsOptions): Promise<\n    NonNullablePaths<\n      QueryGroupsResponse,\n      | `groups`\n      | `groups.${number}.privacyStatus`\n      | `groups.${number}.coverImage.position.x`\n      | `groups.${number}.coverImage.position.y`\n      | `groups.${number}.settings.allowedToInviteMembers`\n      | `groups.${number}.settings.allowedToApproveJoinRequests`,\n      6\n    >\n  >;\n}\n\nexport const onGroupCreated = EventDefinition(\n  'wix.social_groups.v2.group_created',\n  true,\n  (event: GroupCreatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [\n            { path: 'entity.createdDate' },\n            { path: 'entity.updatedDate' },\n            { path: 'entity.recentActivityDate' },\n            { path: 'entity.lastActivityDate' },\n            { path: 'metadata.eventTime' },\n          ],\n        },\n        {\n          transformFn: transformRESTFloatToSDKFloat,\n          paths: [\n            { path: 'entity.details.logoPosition.x' },\n            { path: 'entity.details.logoPosition.y' },\n            { path: 'entity.details.mobileLogoPosition.x' },\n            { path: 'entity.details.mobileLogoPosition.y' },\n            { path: 'entity.coverImage.position.x' },\n            { path: 'entity.coverImage.position.y' },\n            { path: 'entity.coverImage.mobilePosition.x' },\n            { path: 'entity.coverImage.mobilePosition.y' },\n          ],\n        },\n      ])\n    )\n)<GroupCreatedEnvelope>();\nexport const onGroupDeleted = EventDefinition(\n  'wix.social_groups.v2.group_deleted',\n  true,\n  (event: GroupDeletedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [\n            { path: 'undefined.createdDate' },\n            { path: 'undefined.updatedDate' },\n            { path: 'undefined.recentActivityDate' },\n            { path: 'undefined.lastActivityDate' },\n            { path: 'metadata.eventTime' },\n          ],\n        },\n        {\n          transformFn: transformRESTFloatToSDKFloat,\n          paths: [\n            { path: 'undefined.details.logoPosition.x' },\n            { path: 'undefined.details.logoPosition.y' },\n            { path: 'undefined.details.mobileLogoPosition.x' },\n            { path: 'undefined.details.mobileLogoPosition.y' },\n            { path: 'undefined.coverImage.position.x' },\n            { path: 'undefined.coverImage.position.y' },\n            { path: 'undefined.coverImage.mobilePosition.x' },\n            { path: 'undefined.coverImage.mobilePosition.y' },\n          ],\n        },\n      ])\n    )\n)<GroupDeletedEnvelope>();\nexport const onGroupCoverChanged = EventDefinition(\n  'wix.social_groups.v2.group_group_cover_changed',\n  true,\n  (event: GroupCoverChangedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [{ path: 'metadata.eventTime' }],\n        },\n      ])\n    )\n)<GroupCoverChangedEnvelope>();\nexport const onGroupDescriptionChanged = EventDefinition(\n  'wix.social_groups.v2.group_group_description_changed',\n  true,\n  (event: GroupDescriptionChangedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [{ path: 'metadata.eventTime' }],\n        },\n      ])\n    )\n)<GroupDescriptionChangedEnvelope>();\nexport const onGroupUpdated = EventDefinition(\n  'wix.social_groups.v2.group_updated',\n  true,\n  (event: GroupUpdatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [\n            { path: 'entity.createdDate' },\n            { path: 'entity.updatedDate' },\n            { path: 'entity.recentActivityDate' },\n            { path: 'entity.lastActivityDate' },\n            { path: 'metadata.eventTime' },\n          ],\n        },\n        {\n          transformFn: transformRESTFloatToSDKFloat,\n          paths: [\n            { path: 'entity.details.logoPosition.x' },\n            { path: 'entity.details.logoPosition.y' },\n            { path: 'entity.details.mobileLogoPosition.x' },\n            { path: 'entity.details.mobileLogoPosition.y' },\n            { path: 'entity.coverImage.position.x' },\n            { path: 'entity.coverImage.position.y' },\n            { path: 'entity.coverImage.mobilePosition.x' },\n            { path: 'entity.coverImage.mobilePosition.y' },\n          ],\n        },\n      ])\n    )\n)<GroupUpdatedEnvelope>();\n\nexport {\n  AccessRestriction,\n  AccessRestrictionDataOneOf,\n  AccountInfo,\n  AccountInfoMetadata,\n  ActionEvent,\n  AllowPolicy,\n  BMFeature,\n  BMFeatures,\n  BaseEventMetadata,\n  ContentType,\n  CoverImage,\n  CreateGroupOptions,\n  CreateGroupRequest,\n  CreateGroupResponse,\n  DeleteGroupRequest,\n  DeleteGroupResponse,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  EventMetadata,\n  Events,\n  FeedItemPermissions,\n  FeedPermissions,\n  GetGroupBMFeaturesRequest,\n  GetGroupBMFeaturesResponse,\n  GetGroupBySlugOptions,\n  GetGroupBySlugRequest,\n  GetGroupBySlugResponse,\n  GetGroupIdBySlugRequest,\n  GetGroupIdBySlugResponse,\n  GetGroupMembersGroupIdsRequest,\n  GetGroupMembersGroupIdsResponse,\n  GetGroupOptions,\n  GetGroupRequest,\n  GetGroupResponse,\n  GetPrivacyRequest,\n  GetPrivacyResponse,\n  GlobalFeedPermissions,\n  Group,\n  GroupCoverChanged,\n  GroupCoverChangedEnvelope,\n  GroupCreatedEnvelope,\n  GroupDeletedEnvelope,\n  GroupDescriptionChanged,\n  GroupDescriptionChangedEnvelope,\n  GroupDetails,\n  GroupDetailsPosition,\n  GroupIntegrationsData,\n  GroupPermissions,\n  GroupQuerySpec,\n  GroupSettings,\n  GroupUpdatedEnvelope,\n  GroupWithMsId,\n  GroupsQueryBuilder,\n  GroupsQueryResult,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  Identity,\n  IdentityType,\n  Image,\n  ListGroupIntegrationsDataRequest,\n  ListGroupIntegrationsDataResponse,\n  ListGroupsByUserIdRequest,\n  ListGroupsByUserIdResponse,\n  ListGroupsOptions,\n  ListGroupsRequest,\n  ListGroupsResponse,\n  Logo,\n  MembershipStatus,\n  MessageEnvelope,\n  OnboardingStepSettings,\n  Paging,\n  PagingMetadata,\n  Position,\n  PrivacyStatus,\n  Query,\n  QueryGroupsByMembershipRequest,\n  QueryGroupsByMembershipResponse,\n  QueryGroupsOptions,\n  QueryGroupsRequest,\n  QueryGroupsResponse,\n  QueryJoinedGroupsRequest,\n  QueryJoinedGroupsResponse,\n  QueryJoinedGroupsWithMemberRequest,\n  QueryJoinedGroupsWithMemberResponse,\n  RestoreInfo,\n  SortOrder,\n  Sorting,\n  StepKey,\n  Type,\n  UpdateGroup,\n  UpdateGroupOptions,\n  UpdateGroupRequest,\n  UpdateGroupResponse,\n  WebhookIdentityType,\n  utils,\n} from './social-groups-v2-group-groups.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n  HttpClient,\n  HttpResponse,\n  NonNullablePaths,\n  QuerySpec,\n  Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixSocialGroupsV2Group from './social-groups-v2-group-groups.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/**\n * A group object represents a community space where site members can connect and share content.\n * You can create groups and manage their visibility, settings, and metadata.\n * Learn more about [groups](https://support.wix.com/en/article/wix-groups-about-groups).\n */\nexport interface Group {\n  /**\n   * Group ID.\n   * @readonly\n   * @format GUID\n   */\n  _id?: string | null;\n  /**\n   * A unique part of a group's URL, for example `https:/example.com/groups/slug`.\n   * @minLength 1\n   * @maxLength 100\n   */\n  slug?: string | null;\n  /** Group privacy status. */\n  privacyStatus?: PrivacyStatusWithLiterals;\n  /**\n   * Group name.\n   * @maxLength 100\n   */\n  name?: string | null;\n  /**\n   * Group description in [DraftJS](https://draftjs.org) format.\n   * @maxLength 20480\n   */\n  description?: string | null;\n  /**\n   * Group teaser.\n   * @maxLength 1000\n   */\n  teaser?: string | null;\n  /**\n   * What group members are called, for example `Coworkers`, `Friends`, or `Students`.\n   * @minLength 1\n   * @maxLength 1000\n   */\n  memberTitle?: string | null;\n  /** Cover image. You cannot upload your own cover image. */\n  coverImage?: CoverImage;\n  /**\n   * Group specific settings.\n   *\n   * These settings can also 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?).\n   */\n  settings?: GroupSettings;\n  /**\n   * Total count of current group members.\n   * @readonly\n   */\n  membersCount?: number | null;\n  /**\n   * Group owner.\n   * @readonly\n   * @format GUID\n   */\n  ownerId?: string | null;\n  /**\n   * Group creation date and time.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time of the latest group update.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Date and time of the most recent group activity, for example a post or comment.\n   * @readonly\n   */\n  lastActivityDate?: Date | null;\n}\n\nexport enum Type {\n  UNKNOWN = 'UNKNOWN',\n  ADMIN_APPROVAL = 'ADMIN_APPROVAL',\n  PAID_PLANS = 'PAID_PLANS',\n  EVENTS = 'EVENTS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n  | Type\n  | 'UNKNOWN'\n  | 'ADMIN_APPROVAL'\n  | 'PAID_PLANS'\n  | 'EVENTS';\n\nexport interface Events {\n  /** @format GUID */\n  eventIds?: string[];\n}\n\nexport interface Logo {\n  /**\n   * Logo image ID (for internal use).\n   * @maxLength 1000\n   */\n  mediaId?: string | null;\n  /** Logo image width. */\n  width?: number | null;\n  /** Logo image height. */\n  height?: number | null;\n  /**\n   * Alternative text.\n   * @maxLength 200\n   */\n  altText?: string | null;\n}\n\nexport interface GroupDetailsPosition {\n  /** horizontal coordinate */\n  x?: number;\n  /** vertical coordinate */\n  y?: number;\n}\n\nexport interface Image {\n  /**\n   * Image ID (for internal use).\n   * @maxLength 1000\n   */\n  mediaId?: string | null;\n  /** Image width. */\n  width?: number | null;\n  /** Image height. */\n  height?: number | null;\n  /** Indicates pre-configured/auto-generated images (from templates, client generated). */\n  preset?: boolean | null;\n}\n\nexport interface Position {\n  /** horizontal coordinate */\n  x?: number;\n  /** vertical coordinate */\n  y?: number;\n}\n\nexport enum AllowPolicy {\n  UNKNOWN = 'UNKNOWN',\n  OWNER_AND_ADMINS = 'OWNER_AND_ADMINS',\n  OWNER = 'OWNER',\n  ALL_MEMBERS = 'ALL_MEMBERS',\n}\n\n/** @enumType */\nexport type AllowPolicyWithLiterals =\n  | AllowPolicy\n  | 'UNKNOWN'\n  | 'OWNER_AND_ADMINS'\n  | 'OWNER'\n  | 'ALL_MEMBERS';\n\nexport interface OnboardingStepSettings {\n  stepKey?: StepKeyWithLiterals;\n  visible?: boolean;\n}\n\nexport enum StepKey {\n  UNKNOWN = 'UNKNOWN',\n  CREATE_POST = 'CREATE_POST',\n  REACT_TO_POST = 'REACT_TO_POST',\n  INVITE_MEMBERS = 'INVITE_MEMBERS',\n}\n\n/** @enumType */\nexport type StepKeyWithLiterals =\n  | StepKey\n  | 'UNKNOWN'\n  | 'CREATE_POST'\n  | 'REACT_TO_POST'\n  | 'INVITE_MEMBERS';\n\nexport enum PrivacyStatus {\n  /** Undefined group privacy status. */\n  UNKNOWN = 'UNKNOWN',\n  /** Anyone can see the group and its content. Anyone can join the group. */\n  PUBLIC = 'PUBLIC',\n  /** Anyone can see the group, but only members can see its content. New members must submit a `Join Group Request`. */\n  PRIVATE = 'PRIVATE',\n  /** Only admins and members can see the group. New members can only be added by other members. */\n  SECRET = 'SECRET',\n}\n\n/** @enumType */\nexport type PrivacyStatusWithLiterals =\n  | PrivacyStatus\n  | 'UNKNOWN'\n  | 'PUBLIC'\n  | 'PRIVATE'\n  | 'SECRET';\n\nexport interface AccessRestriction extends AccessRestrictionDataOneOf {\n  events?: Events;\n  type?: TypeWithLiterals;\n}\n\n/** @oneof */\nexport interface AccessRestrictionDataOneOf {\n  events?: Events;\n}\n\nexport interface GroupDetails {\n  /** Group logo. You cannot upload your own logo. */\n  logo?: Logo;\n  /**\n   * What group members are called, for example `Coworkers`, `Friends`, or `Students`.\n   * @minLength 1\n   * @maxLength 1000\n   */\n  membersTitle?: string | null;\n}\n\n/** Cover image. You cannot upload your own cover image. */\nexport interface CoverImage {\n  /** Cover image. */\n  image?: Image;\n  /** Position of the corner of the cover image (or logo). */\n  position?: Position;\n  /** Position of the corner of the cover image (or logo) for mobile browser. */\n  mobilePosition?: Position;\n  /**\n   * Alternative text is typically a relatively short phrase that describes what the image depicts.\n   *\n   * The alternative text is used:\n   * + If the browser cannot display the image.\n   * + If the user is utilizing a screen reader.\n   * + By search engines to understand what images are on your site.\n   * @maxLength 200\n   */\n  altText?: string | null;\n}\n\nexport interface GroupSettings {\n  /**\n   * __Deprecated.__ Use `allowedToInviteMembers` instead.\n   * Whether regular members are permitted to invite new members.\n   * If `false`, only admins can invite members. Defaults to `true`.\n   * @deprecated\n   */\n  membersCanInvite?: boolean | null;\n  /**\n   * __Deprecated.__ Use `allowedToApproveJoinRequests` instead.\n   * Whether all group members are permitted to approve join group requests.\n   * If `false`, member approval is limited to the admins.\n   * @deprecated\n   */\n  membersCanApprove?: boolean | null;\n  /** Whether a daily post about new members is enabled. */\n  welcomeMemberPostEnabled?: boolean | null;\n  /** Whether an automatic post about changing the group details is enabled. */\n  groupDetailsChangedPostEnabled?: boolean | null;\n  /** Whether all members can see the full member list. */\n  showMemberList?: boolean | null;\n  /** Determines who can invite members to the group */\n  allowedToInviteMembers?: AllowPolicyWithLiterals;\n  /** Determines who can approve member join requests to the group */\n  allowedToApproveJoinRequests?: AllowPolicyWithLiterals;\n  /**\n   * Whether AI spam protection is enabled for post creation in the group.\n   * If not explicitly set, the default behavior is 'true' (enabled).\n   */\n  aiSpamProtectionEnabled?: boolean | null;\n}\n\nexport interface Identity {\n  /**\n   * Member ID of the group creator.  See the Members API for more details.\n   * @format GUID\n   */\n  _id?: string | null;\n  identityType?: IdentityTypeWithLiterals;\n}\n\nexport enum IdentityType {\n  /** Wix user. */\n  USER = 'USER',\n  /** Wix member. */\n  MEMBER = 'MEMBER',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals = IdentityType | 'USER' | 'MEMBER';\n\nexport interface CreateGroupRequest {\n  /** Group to create. */\n  group: Group;\n  /**\n   * ID of the member who created the group, from the Members API. This member will automatically become an admin.\n   * @format GUID\n   */\n  creatorId?: string | null;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport enum ContentType {\n  PLAIN_TEXT = 'PLAIN_TEXT',\n  DRAFTJS = 'DRAFTJS',\n  RICH_CONTENT = 'RICH_CONTENT',\n}\n\n/** @enumType */\nexport type ContentTypeWithLiterals =\n  | ContentType\n  | 'PLAIN_TEXT'\n  | 'DRAFTJS'\n  | 'RICH_CONTENT';\n\nexport interface CreateGroupResponse {\n  /** Created group. */\n  group?: Group;\n}\n\nexport interface UpdateGroupRequest {\n  /** Group to update. */\n  group: Group;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport interface UpdateGroupResponse {\n  /** Updated group. */\n  group?: Group;\n}\n\nexport interface GroupCoverChanged {\n  /** Old URL of group cover. */\n  oldUrl?: string | null;\n  /** New URL of group cover. */\n  newUrl?: string | null;\n}\n\nexport interface GroupDescriptionChanged {\n  /** Group's old description. */\n  oldDescription?: string | null;\n  /** Group's new description. */\n  newDescription?: string | null;\n}\n\nexport interface DeleteGroupRequest {\n  /**\n   * ID of the group to delete.\n   * @format GUID\n   */\n  groupId: string;\n}\n\nexport interface DeleteGroupResponse {\n  /** Deleted group. */\n  group?: Group;\n}\n\nexport interface GetGroupRequest {\n  /**\n   * ID of the group to retrieve.\n   * @format GUID\n   */\n  groupId: string;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport interface GetGroupResponse {\n  /** Retrieved group. */\n  group?: Group;\n}\n\nexport interface GetGroupBySlugRequest {\n  /**\n   * 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.\n   * @minLength 1\n   * @maxLength 100\n   */\n  slug: string;\n  /** @format GUID */\n  autoInviteId?: string | null;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport interface GetGroupBySlugResponse {\n  /** Retrieved group. */\n  group?: Group;\n}\n\nexport interface GetGroupIdBySlugRequest {\n  /**\n   * Unique part of the group's URL, for example `group-1` in `https:/example.com/groups/group-1`. Pass only the slug. Case-sensitive.\n   * @minLength 1\n   * @maxLength 100\n   */\n  slug?: string;\n  /** @format GUID */\n  autoInviteId?: string | null;\n}\n\nexport interface GetGroupIdBySlugResponse {\n  /**\n   * ID of the group that correspond to slug\n   * @format GUID\n   */\n  groupId?: string;\n  /** Global feed permissions */\n  accessPermissions?: GlobalFeedPermissions;\n}\n\nexport interface GlobalFeedPermissions {\n  feedPermissions?: FeedPermissions;\n  ownFeedItemPermissions?: FeedItemPermissions;\n  allFeedItemPermissions?: FeedItemPermissions;\n  activityFeedItemPermissions?: FeedItemPermissions;\n}\n\nexport interface FeedPermissions {\n  canViewPosts?: boolean;\n  canCreatePosts?: boolean;\n  canPinPosts?: boolean;\n  canCreateTopic?: boolean;\n  canFollowPosts?: boolean;\n  canCreatePaidPosts?: boolean;\n  canReadSettings?: boolean;\n  canManageSettings?: boolean;\n}\n\nexport interface FeedItemPermissions {\n  canViewFullPost?: boolean;\n  canAssignTopic?: boolean;\n  canUnassignTopic?: boolean;\n  /** bool canFollow = 3; // it's not related to context token */\n  canUpdate?: boolean;\n  canDelete?: boolean;\n  /** always true */\n  canShare?: boolean;\n  canAddComment?: boolean;\n  canReact?: boolean;\n  canPin?: boolean;\n}\n\nexport interface ListGroupsRequest {\n  /**\n   * Number of items to load. Maximum `100`.\n   * @max 100\n   */\n  limit?: number | null;\n  /** Number of items to skip in the current sort order. */\n  offset?: number | null;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport interface ListGroupsResponse {\n  /** Retrieved Groups. */\n  groups?: Group[];\n  /** Paging metadata. */\n  metadata?: PagingMetadata;\n}\n\nexport interface PagingMetadata {\n  /** Number of items returned in the response. */\n  count?: number | null;\n  /** Offset that was requested. */\n  offset?: number | null;\n  /** Total number of items that match the query. */\n  total?: number | null;\n  /** Flag that indicates the server failed to calculate the `total` field. */\n  tooManyToCount?: boolean | null;\n}\n\nexport interface ListGroupsByUserIdRequest {\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport interface ListGroupsByUserIdResponse {\n  groups?: GroupWithMsId[];\n}\n\n/** Retrieved Groups by metasite id */\nexport interface GroupWithMsId {\n  metaSiteId?: string;\n  groups?: Group[];\n}\n\nexport interface QueryGroupsRequest {\n  /** Query options. */\n  query?: Query;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport interface Query {\n  /**\n   * Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n   */\n  filter?: any;\n  /**\n   * Sort object in the following format:\n   * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n   */\n  sort?: Sorting[];\n  /** Paging options to limit and skip the number of items. */\n  paging?: Paging;\n  /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n  fields?: string[];\n  /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n  fieldsets?: string[];\n}\n\nexport interface Sorting {\n  /**\n   * Name of the field to sort by.\n   * @maxLength 512\n   */\n  fieldName?: string;\n  /** Sort order. */\n  order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n  ASC = 'ASC',\n  DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n  /** Number of items to load. */\n  limit?: number | null;\n  /** Number of items to skip in the current sort order. */\n  offset?: number | null;\n}\n\nexport interface QueryGroupsResponse {\n  /** Retrieved groups. */\n  groups?: Group[];\n  /** Paging metadata. */\n  metadata?: PagingMetadata;\n}\n\nexport interface QueryJoinedGroupsRequest {\n  /** Query options. */\n  query?: Query;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport interface QueryJoinedGroupsResponse {\n  /** Retrieved groups. */\n  groups?: Group[];\n  /** Paging metadata. */\n  metadata?: PagingMetadata;\n}\n\nexport interface QueryGroupsByMembershipRequest {\n  /** Query options. */\n  query?: Query;\n  membershipStatus?: MembershipStatusWithLiterals;\n  /** Filter groups by permissions. */\n  permissionsFilter?: GroupPermissions;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport enum MembershipStatus {\n  NONE = 'NONE',\n  JOINED = 'JOINED',\n  PENDING = 'PENDING',\n}\n\n/** @enumType */\nexport type MembershipStatusWithLiterals =\n  | MembershipStatus\n  | 'NONE'\n  | 'JOINED'\n  | 'PENDING';\n\nexport interface GroupPermissions {\n  canCreatePosts?: boolean | null;\n}\n\nexport interface QueryGroupsByMembershipResponse {\n  /** Retrieved groups. */\n  groups?: Group[];\n  /** Paging metadata. */\n  metadata?: PagingMetadata;\n}\n\nexport interface ListGroupIntegrationsDataRequest {\n  /**\n   * @format GUID\n   * @minSize 1\n   * @maxSize 100\n   */\n  groupIds?: string[];\n}\n\nexport interface ListGroupIntegrationsDataResponse {\n  /**\n   * @minSize 1\n   * @maxSize 100\n   */\n  groupsIntegrationsData?: GroupIntegrationsData[];\n}\n\nexport interface GroupIntegrationsData {\n  /** @format GUID */\n  groupId?: string;\n  feedItemsCount?: number;\n  /** @format GUID */\n  topicIds?: string[];\n  /** @format GUID */\n  eventIds?: string[];\n  /** @format GUID */\n  connectedPricingPlanIds?: string[];\n  /** @format GUID */\n  onlineProgramIds?: string[];\n}\n\nexport interface GetGroupMembersGroupIdsRequest {\n  /**\n   * ID of the group to retrieve members group ids.\n   * @format GUID\n   */\n  groupId?: string;\n}\n\nexport interface GetGroupMembersGroupIdsResponse {\n  /**\n   * All members group id\n   * @format GUID\n   */\n  allMembersGroupId?: string;\n  /**\n   * Admins members group id\n   * @format GUID\n   */\n  adminMembersGroupId?: string;\n}\n\nexport interface GetGroupBMFeaturesRequest {\n  /**\n   * ID of the group to retrieve BM features.\n   * @format GUID\n   */\n  groupId?: string;\n}\n\nexport interface GetGroupBMFeaturesResponse {\n  level?: number;\n  features?: BMFeatures;\n}\n\nexport interface BMFeatures {\n  /** @maxSize 10 */\n  bmFeatures?: BMFeatureWithLiterals[];\n}\n\nexport enum BMFeature {\n  BM_FEATURES_UNKNOWN = 'BM_FEATURES_UNKNOWN',\n  BM_FEATURES_GENERATE_TOPICS = 'BM_FEATURES_GENERATE_TOPICS',\n  BM_FEATURES_GENERATE_QUESTIONS = 'BM_FEATURES_GENERATE_QUESTIONS',\n}\n\n/** @enumType */\nexport type BMFeatureWithLiterals =\n  | BMFeature\n  | 'BM_FEATURES_UNKNOWN'\n  | 'BM_FEATURES_GENERATE_TOPICS'\n  | 'BM_FEATURES_GENERATE_QUESTIONS';\n\nexport interface QueryJoinedGroupsWithMemberRequest {\n  /** Query options. */\n  query?: Query;\n  /**\n   * ID of the member to find common groups with\n   * @format GUID\n   */\n  memberId?: string;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\nexport interface QueryJoinedGroupsWithMemberResponse {\n  /** Retrieved groups. */\n  groups?: Group[];\n  /** Paging metadata. */\n  metadata?: PagingMetadata;\n}\n\nexport interface GetPrivacyRequest {\n  /**\n   * Group ids to list privacy for\n   * @format GUID\n   * @maxSize 100\n   */\n  groupIds?: string[];\n}\n\nexport interface GetPrivacyResponse {\n  /** Privacy statuses listed per group id */\n  privacyStatuses?: Record<string, PrivacyStatus>;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entity?: string;\n}\n\nexport interface RestoreInfo {\n  deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n  /**\n   * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n   * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n   * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n   */\n  currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n  /** Entity that was deleted. */\n  deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n  body?: string;\n}\n\nexport interface MessageEnvelope {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Stringify payload. */\n  data?: string;\n  /** Details related to the account */\n  accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n  /** @readonly */\n  identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n}\n\nexport enum WebhookIdentityType {\n  UNKNOWN = 'UNKNOWN',\n  ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n  MEMBER = 'MEMBER',\n  WIX_USER = 'WIX_USER',\n  APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n  | WebhookIdentityType\n  | 'UNKNOWN'\n  | 'ANONYMOUS_VISITOR'\n  | 'MEMBER'\n  | 'WIX_USER'\n  | 'APP';\n\nexport interface AccountInfo {\n  /**\n   * ID of the Wix account associated with the event.\n   * @format GUID\n   */\n  accountId?: string | null;\n  /**\n   * ID of the parent Wix account. Only included when accountId belongs to a child account.\n   * @format GUID\n   */\n  parentAccountId?: string | null;\n  /**\n   * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n   * @format GUID\n   */\n  siteId?: string | null;\n}\n\nexport interface BaseEventMetadata {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Details related to the account */\n  accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n  accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n  /** ID of the Wix account associated with the event */\n  accountId: string;\n  /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n  siteId?: string;\n  /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n  parentAccountId?: string;\n}\n\nexport interface GroupCreatedEnvelope {\n  entity: Group;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a group is created.\n * @webhook\n * @eventType wix.social_groups.v2.group_created\n * @serviceIdentifier wix.social.groups.api.v2.GroupsService\n * @slug created\n */\nexport declare function onGroupCreated(\n  handler: (event: GroupCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface GroupDeletedEnvelope {\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a group is deleted.\n * @webhook\n * @eventType wix.social_groups.v2.group_deleted\n * @serviceIdentifier wix.social.groups.api.v2.GroupsService\n * @slug deleted\n */\nexport declare function onGroupDeleted(\n  handler: (event: GroupDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface GroupCoverChangedEnvelope {\n  data: GroupCoverChanged;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a group's logo is changed.\n * @webhook\n * @eventType wix.social_groups.v2.group_group_cover_changed\n * @serviceIdentifier wix.social.groups.api.v2.GroupsService\n * @slug group_cover_changed\n */\nexport declare function onGroupCoverChanged(\n  handler: (event: GroupCoverChangedEnvelope) => void | Promise<void>\n): void;\n\nexport interface GroupDescriptionChangedEnvelope {\n  data: GroupDescriptionChanged;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a group's description is changed.\n * @webhook\n * @eventType wix.social_groups.v2.group_group_description_changed\n * @serviceIdentifier wix.social.groups.api.v2.GroupsService\n * @slug group_description_changed\n */\nexport declare function onGroupDescriptionChanged(\n  handler: (event: GroupDescriptionChangedEnvelope) => void | Promise<void>\n): void;\n\nexport interface GroupUpdatedEnvelope {\n  entity: Group;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a group is updated. See payload for more information about the specific trigger.\n * @webhook\n * @eventType wix.social_groups.v2.group_updated\n * @serviceIdentifier wix.social.groups.api.v2.GroupsService\n * @slug updated\n */\nexport declare function onGroupUpdated(\n  handler: (event: GroupUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates a group.\n *\n * 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\n * of a site.\n *\n * 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.\n *\n *\n * Wix users determine who can create a group.\n * 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**.\n * 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`.\n * A Wix user either approves or rejects the request to create a group.\n * If set to **all site members**, site members can create a group with the Create Group method and no approval is required.\n * If set to **only admins**, only Wix users can create a group with the Create Group method.\n * Default is set to **members with approval**.\n * @param group - Group to create.\n * @public\n * @requiredField group\n * @param options - Optional fields for group creation.\n * @returns Created group.\n * @fqn wix.social.groups.api.v2.GroupsService.CreateGroup\n */\nexport async function createGroup(\n  group: Group,\n  options?: CreateGroupOptions\n): Promise<\n  NonNullablePaths<\n    Group,\n    | `privacyStatus`\n    | `coverImage.position.x`\n    | `coverImage.position.y`\n    | `settings.allowedToInviteMembers`\n    | `settings.allowedToApproveJoinRequests`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    group: group,\n    creatorId: options?.creatorId,\n    contentType: options?.contentType,\n  });\n\n  const reqOpts = ambassadorWixSocialGroupsV2Group.createGroup(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.group!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          group: '$[0]',\n          creatorId: '$[1].creatorId',\n          contentType: '$[1].contentType',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['group', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface CreateGroupOptions {\n  /**\n   * ID of the member who created the group, from the Members API. This member will automatically become an admin.\n   * @format GUID\n   */\n  creatorId?: string | null;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\n/**\n * Updates a group.\n *\n * When a public or private group's name is updated, the slug is updated to reflect the new group name.\n * Only group admins can update their group.\n *\n * > **Notes:**\n * > + When `group.privacyStatus` is updated from `PRIVATE` to `PUBLIC`, all pending group join requests are automatically approved.\n * > + When `group.privacyStatus` is updated from `PRIVATE` to `SECRET`, all pending group join requests are automatically rejected.\n * @param _id - Group ID.\n * @public\n * @requiredField _id\n * @requiredField group\n * @returns Updated group.\n * @fqn wix.social.groups.api.v2.GroupsService.UpdateGroup\n */\nexport async function updateGroup(\n  _id: string,\n  group: UpdateGroup,\n  options?: UpdateGroupOptions\n): Promise<\n  NonNullablePaths<\n    Group,\n    | `privacyStatus`\n    | `coverImage.position.x`\n    | `coverImage.position.y`\n    | `settings.allowedToInviteMembers`\n    | `settings.allowedToApproveJoinRequests`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[3] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    group: { ...group, id: _id },\n    contentType: options?.contentType,\n  });\n\n  const reqOpts = ambassadorWixSocialGroupsV2Group.updateGroup(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.group!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: { group: '$[1]' },\n        explicitPathsToArguments: {\n          'group.id': '$[0]',\n          contentType: '$[2].contentType',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['_id', 'group', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateGroup {\n  /**\n   * Group ID.\n   * @readonly\n   * @format GUID\n   */\n  _id?: string | null;\n  /**\n   * A unique part of a group's URL, for example `https:/example.com/groups/slug`.\n   * @minLength 1\n   * @maxLength 100\n   */\n  slug?: string | null;\n  /** Group privacy status. */\n  privacyStatus?: PrivacyStatusWithLiterals;\n  /**\n   * Group name.\n   * @maxLength 100\n   */\n  name?: string | null;\n  /**\n   * Group description in [DraftJS](https://draftjs.org) format.\n   * @maxLength 20480\n   */\n  description?: string | null;\n  /**\n   * Group teaser.\n   * @maxLength 1000\n   */\n  teaser?: string | null;\n  /**\n   * What group members are called, for example `Coworkers`, `Friends`, or `Students`.\n   * @minLength 1\n   * @maxLength 1000\n   */\n  memberTitle?: string | null;\n  /** Cover image. You cannot upload your own cover image. */\n  coverImage?: CoverImage;\n  /**\n   * Group specific settings.\n   *\n   * These settings can also 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?).\n   */\n  settings?: GroupSettings;\n  /**\n   * Total count of current group members.\n   * @readonly\n   */\n  membersCount?: number | null;\n  /**\n   * Group owner.\n   * @readonly\n   * @format GUID\n   */\n  ownerId?: string | null;\n  /**\n   * Group creation date and time.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time of the latest group update.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Date and time of the most recent group activity, for example a post or comment.\n   * @readonly\n   */\n  lastActivityDate?: Date | null;\n}\n\nexport interface UpdateGroupOptions {\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\n/** @param groupId - ID of the group to delete.\n * @public\n * @requiredField groupId\n * @fqn wix.social.groups.api.v2.GroupsService.DeleteGroup\n */\nexport async function deleteGroup(\n  groupId: string\n): Promise<\n  NonNullablePaths<\n    DeleteGroupResponse,\n    | `group.privacyStatus`\n    | `group.coverImage.position.x`\n    | `group.coverImage.position.y`\n    | `group.settings.allowedToInviteMembers`\n    | `group.settings.allowedToApproveJoinRequests`,\n    5\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ groupId: groupId });\n\n  const reqOpts = ambassadorWixSocialGroupsV2Group.deleteGroup(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { groupId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['groupId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Retrieves a group.\n *\n * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n * @param groupId - ID of the group to retrieve.\n * @public\n * @requiredField groupId\n * @returns Retrieved group.\n * @fqn wix.social.groups.api.v2.GroupsService.GetGroup\n */\nexport async function getGroup(\n  groupId: string,\n  options?: GetGroupOptions\n): Promise<\n  NonNullablePaths<\n    Group,\n    | `privacyStatus`\n    | `coverImage.position.x`\n    | `coverImage.position.y`\n    | `settings.allowedToInviteMembers`\n    | `settings.allowedToApproveJoinRequests`,\n    4\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    groupId: groupId,\n    contentType: options?.contentType,\n  });\n\n  const reqOpts = ambassadorWixSocialGroupsV2Group.getGroup(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.group!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          groupId: '$[0]',\n          contentType: '$[1].contentType',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['groupId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetGroupOptions {\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\n/**\n * Retrieves a group by slug.\n *\n * The slug is the end of a group's URL that refers to a specific group.\n * For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`.\n * Slugs are case-sensitive. It is generally based on the group name, but for secret groups it is an autogenerated string of characters,\n * for example, `https:/example.com/groups/{5D3yTX}`.\n *\n * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n * @param slug - 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.\n * @public\n * @requiredField slug\n * @fqn wix.social.groups.api.v2.GroupsService.GetGroupBySlug\n */\nexport async function getGroupBySlug(\n  slug: string,\n  options?: GetGroupBySlugOptions\n): Promise<\n  NonNullablePaths<\n    GetGroupBySlugResponse,\n    | `group.privacyStatus`\n    | `group.coverImage.position.x`\n    | `group.coverImage.position.y`\n    | `group.settings.allowedToInviteMembers`\n    | `group.settings.allowedToApproveJoinRequests`,\n    5\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    slug: slug,\n    autoInviteId: options?.autoInviteId,\n    contentType: options?.contentType,\n  });\n\n  const reqOpts = ambassadorWixSocialGroupsV2Group.getGroupBySlug(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          slug: '$[0]',\n          autoInviteId: '$[1].autoInviteId',\n          contentType: '$[1].contentType',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['slug', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetGroupBySlugOptions {\n  /** @format GUID */\n  autoInviteId?: string | null;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\n/**\n * Retrieves up to 100 groups.\n *\n *\n * 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.\n *\n * > **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)`.\n * @public\n * @param options - Limit and offset options.\n * @fqn wix.social.groups.api.v2.GroupsService.ListGroups\n */\nexport async function listGroups(\n  options?: ListGroupsOptions\n): Promise<\n  NonNullablePaths<\n    ListGroupsResponse,\n    | `groups`\n    | `groups.${number}.privacyStatus`\n    | `groups.${number}.coverImage.position.x`\n    | `groups.${number}.coverImage.position.y`\n    | `groups.${number}.settings.allowedToInviteMembers`\n    | `groups.${number}.settings.allowedToApproveJoinRequests`,\n    6\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    limit: options?.limit,\n    offset: options?.offset,\n    contentType: options?.contentType,\n  });\n\n  const reqOpts = ambassadorWixSocialGroupsV2Group.listGroups(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          limit: '$[0].limit',\n          offset: '$[0].offset',\n          contentType: '$[0].contentType',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ListGroupsOptions {\n  /**\n   * Number of items to load. Maximum `100`.\n   * @max 100\n   */\n  limit?: number | null;\n  /** Number of items to skip in the current sort order. */\n  offset?: number | null;\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals;\n}\n\n/**\n * Retrieves up to 100 groups, given the provided paging, filtering, and sorting.\n *\n * Supported fields for filtering:\n * - `title`\n *\n * Supported fields for sorting:\n * - `title`\n * - `createdDate`\n * - `membersCount`\n * - `recentActivityDate`\n *\n * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n * @public\n * @fqn wix.social.groups.api.v2.GroupsService.QueryGroups\n */\nexport function queryGroups(options?: QueryGroupsOptions): GroupsQueryBuilder {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  return queryBuilder<Group, 'OFFSET', QueryGroupsRequest, QueryGroupsResponse>(\n    {\n      func: async (payload: QueryGroupsRequest) => {\n        const reqOpts = ambassadorWixSocialGroupsV2Group.queryGroups({\n          ...payload,\n          ...(options ?? {}),\n        });\n\n        sideEffects?.onSiteCall?.();\n        try {\n          const result = await httpClient.request(reqOpts);\n          sideEffects?.onSuccess?.(result);\n          return result;\n        } catch (err) {\n          sideEffects?.onError?.(err);\n          throw err;\n        }\n      },\n      requestTransformer: (query: QueryGroupsRequest['query']) => {\n        const args = [query, options] as [\n          QueryGroupsRequest['query'],\n          QueryGroupsOptions\n        ];\n        return renameKeysFromSDKRequestToRESTRequest({\n          ...args?.[1],\n          query: args?.[0],\n        });\n      },\n      responseTransformer: ({ data }: HttpResponse<QueryGroupsResponse>) => {\n        const transformedData = renameKeysFromRESTResponseToSDKResponse(\n          transformPaths(data, [])\n        );\n\n        return {\n          items: transformedData?.groups,\n          pagingMetadata: transformedData?.metadata,\n        };\n      },\n      errorTransformer: (err: unknown) => {\n        const transformedError = sdkTransformError(err, {\n          spreadPathsToArguments: {},\n          explicitPathsToArguments: { query: '$[0]' },\n          singleArgumentUnchanged: false,\n        });\n\n        throw transformedError;\n      },\n      pagingMethod: 'OFFSET',\n      transformationPaths: {},\n    }\n  );\n}\n\nexport interface QueryGroupsOptions {\n  /** Content type. */\n  contentType?: ContentTypeWithLiterals | undefined;\n}\n\ninterface QueryOffsetResult {\n  currentPage: number | undefined;\n  totalPages: number | undefined;\n  totalCount: number | undefined;\n  hasNext: () => boolean;\n  hasPrev: () => boolean;\n  length: number;\n  pageSize: number;\n}\n\nexport interface GroupsQueryResult extends QueryOffsetResult {\n  items: Group[];\n  query: GroupsQueryBuilder;\n  next: () => Promise<GroupsQueryResult>;\n  prev: () => Promise<GroupsQueryResult>;\n}\n\nexport interface GroupsQueryBuilder {\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  eq: (propertyName: string, value: any) => GroupsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  ne: (propertyName: string, value: any) => GroupsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  ge: (propertyName: string, value: any) => GroupsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  gt: (propertyName: string, value: any) => GroupsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  le: (propertyName: string, value: any) => GroupsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   */\n  lt: (propertyName: string, value: any) => GroupsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `string`.\n   * @param string - String to compare against. Case-insensitive.\n   */\n  startsWith: (propertyName: string, value: string) => GroupsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `values`.\n   * @param values - List of values to compare against.\n   */\n  hasSome: (propertyName: string, value: any[]) => GroupsQueryBuilder;\n  in: (propertyName: string, value: any) => GroupsQueryBuilder;\n  exists: (propertyName: string, value: boolean) => GroupsQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n  ascending: (\n    ...propertyNames: Array<'membersCount' | '_createdDate'>\n  ) => GroupsQueryBuilder;\n  /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n  descending: (\n    ...propertyNames: Array<'membersCount' | '_createdDate'>\n  ) => GroupsQueryBuilder;\n  /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n  limit: (limit: number) => GroupsQueryBuilder;\n  /** @param skip - Number of items to skip in the query results before returning the results. */\n  skip: (skip: number) => GroupsQueryBuilder;\n  find: () => Promise<GroupsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.social.groups.api.v2.GroupsService.QueryGroups\n * @requiredField query\n */\nexport async function typedQueryGroups(\n  query: GroupQuery,\n  options?: QueryGroupsOptions\n): Promise<\n  NonNullablePaths<\n    QueryGroupsResponse,\n    | `groups`\n    | `groups.${number}.privacyStatus`\n    | `groups.${number}.coverImage.position.x`\n    | `groups.${number}.coverImage.position.y`\n    | `groups.${number}.settings.allowedToInviteMembers`\n    | `groups.${number}.settings.allowedToApproveJoinRequests`,\n    6\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    query: query,\n    ...options,\n  });\n\n  const reqOpts = ambassadorWixSocialGroupsV2Group.queryGroups(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { query: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['query', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GroupQuerySpec extends QuerySpec {\n  paging: 'offset';\n  wql: [];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<Group, GroupQuerySpec>;\nexport type GroupQuery = {\n  /** \n  Filter object in the following format:\n  `\"filter\" : {\n  \"fieldName1\": \"value1\",\n  \"fieldName2\":{\"$operator\":\"value2\"}\n  }`\n  Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`  \n  */\n  filter?: CommonQueryWithEntityContext['filter'];\n  /** \n  Sort object in the following format:\n  `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`  \n  */\n  sort?: {\n    /** \n  Name of the field to sort by. \n  @maxLength: 512 \n  */\n    fieldName?: NonNullable<\n      CommonQueryWithEntityContext['sort']\n    >[number]['fieldName'];\n    /** \n  Sort order.  \n  */\n    order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n  }[];\n  /** \n  Paging options to limit and skip the number of items.  \n  */\n  paging?: {\n    /** \n  Number of items to load.  \n  */\n    limit?: NonNullable<CommonQueryWithEntityContext['paging']>['limit'] | null;\n    /** \n  Number of items to skip in the current sort order.  \n  */\n    offset?:\n      | NonNullable<CommonQueryWithEntityContext['paging']>['offset']\n      | null;\n  };\n};\n\nexport const utils = {\n  ...createQueryUtils<Group, GroupQuerySpec, GroupQuery>(),\n};\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixSocialGroupsApiV2GroupsServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'api._api_base_domain_': [\n      {\n        srcPath: '/groups-proxy',\n        destPath: '',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n      {\n        srcPath: '/_api/groups-proxy',\n        destPath: '',\n      },\n    ],\n    'editor-flow.wixapps.net': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n    'groups.wixapps.net': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n      {\n        srcPath: '/social-groups-proxy/api/groups',\n        destPath: '',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/social-groups-proxy/groups',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_groups_groups';\n\n/**\n * Creates a group.\n *\n * 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\n * of a site.\n *\n * 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.\n *\n *\n * Wix users determine who can create a group.\n * 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**.\n * 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`.\n * A Wix user either approves or rejects the request to create a group.\n * If set to **all site members**, site members can create a group with the Create Group method and no approval is required.\n * If set to **only admins**, only Wix users can create a group with the Create Group method.\n * Default is set to **members with approval**.\n */\nexport function createGroup(payload: object): RequestOptionsFactory<any> {\n  function __createGroup({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [\n          { path: 'group.createdDate' },\n          { path: 'group.updatedDate' },\n          { path: 'group.recentActivityDate' },\n          { path: 'group.lastActivityDate' },\n        ],\n      },\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: [\n          { path: 'group.details.logoPosition.x' },\n          { path: 'group.details.logoPosition.y' },\n          { path: 'group.details.mobileLogoPosition.x' },\n          { path: 'group.details.mobileLogoPosition.y' },\n          { path: 'group.coverImage.position.x' },\n          { path: 'group.coverImage.position.y' },\n          { path: 'group.coverImage.mobilePosition.x' },\n          { path: 'group.coverImage.mobilePosition.y' },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.social_groups.v2.group',\n      method: 'POST' as any,\n      methodFqn: 'wix.social.groups.api.v2.GroupsService.CreateGroup',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixSocialGroupsApiV2GroupsServiceUrl({\n        protoPath: '/v2/groups',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'group.createdDate' },\n              { path: 'group.updatedDate' },\n              { path: 'group.recentActivityDate' },\n              { path: 'group.lastActivityDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'group.details.logoPosition.x' },\n              { path: 'group.details.logoPosition.y' },\n              { path: 'group.details.mobileLogoPosition.x' },\n              { path: 'group.details.mobileLogoPosition.y' },\n              { path: 'group.coverImage.position.x' },\n              { path: 'group.coverImage.position.y' },\n              { path: 'group.coverImage.mobilePosition.x' },\n              { path: 'group.coverImage.mobilePosition.y' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __createGroup;\n}\n\n/**\n * Updates a group.\n *\n * When a public or private group's name is updated, the slug is updated to reflect the new group name.\n * Only group admins can update their group.\n *\n * > **Notes:**\n * > + When `group.privacyStatus` is updated from `PRIVATE` to `PUBLIC`, all pending group join requests are automatically approved.\n * > + When `group.privacyStatus` is updated from `PRIVATE` to `SECRET`, all pending group join requests are automatically rejected.\n */\nexport function updateGroup(payload: object): RequestOptionsFactory<any> {\n  function __updateGroup({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [\n          { path: 'group.createdDate' },\n          { path: 'group.updatedDate' },\n          { path: 'group.recentActivityDate' },\n          { path: 'group.lastActivityDate' },\n        ],\n      },\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: [\n          { path: 'group.details.logoPosition.x' },\n          { path: 'group.details.logoPosition.y' },\n          { path: 'group.details.mobileLogoPosition.x' },\n          { path: 'group.details.mobileLogoPosition.y' },\n          { path: 'group.coverImage.position.x' },\n          { path: 'group.coverImage.position.y' },\n          { path: 'group.coverImage.mobilePosition.x' },\n          { path: 'group.coverImage.mobilePosition.y' },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.social_groups.v2.group',\n      method: 'PATCH' as any,\n      methodFqn: 'wix.social.groups.api.v2.GroupsService.UpdateGroup',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixSocialGroupsApiV2GroupsServiceUrl({\n        protoPath: '/v2/groups/{group.id}',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'group.createdDate' },\n              { path: 'group.updatedDate' },\n              { path: 'group.recentActivityDate' },\n              { path: 'group.lastActivityDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'group.details.logoPosition.x' },\n              { path: 'group.details.logoPosition.y' },\n              { path: 'group.details.mobileLogoPosition.x' },\n              { path: 'group.details.mobileLogoPosition.y' },\n              { path: 'group.coverImage.position.x' },\n              { path: 'group.coverImage.position.y' },\n              { path: 'group.coverImage.mobilePosition.x' },\n              { path: 'group.coverImage.mobilePosition.y' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __updateGroup;\n}\n\nexport function deleteGroup(payload: object): RequestOptionsFactory<any> {\n  function __deleteGroup({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.social_groups.v2.group',\n      method: 'DELETE' as any,\n      methodFqn: 'wix.social.groups.api.v2.GroupsService.DeleteGroup',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixSocialGroupsApiV2GroupsServiceUrl({\n        protoPath: '/v2/groups/{groupId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'group.createdDate' },\n              { path: 'group.updatedDate' },\n              { path: 'group.recentActivityDate' },\n              { path: 'group.lastActivityDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'group.details.logoPosition.x' },\n              { path: 'group.details.logoPosition.y' },\n              { path: 'group.details.mobileLogoPosition.x' },\n              { path: 'group.details.mobileLogoPosition.y' },\n              { path: 'group.coverImage.position.x' },\n              { path: 'group.coverImage.position.y' },\n              { path: 'group.coverImage.mobilePosition.x' },\n              { path: 'group.coverImage.mobilePosition.y' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __deleteGroup;\n}\n\n/**\n * Retrieves a group.\n *\n * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n */\nexport function getGroup(payload: object): RequestOptionsFactory<any> {\n  function __getGroup({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.social_groups.v2.group',\n      method: 'GET' as any,\n      methodFqn: 'wix.social.groups.api.v2.GroupsService.GetGroup',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixSocialGroupsApiV2GroupsServiceUrl({\n        protoPath: '/v2/groups/{groupId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'group.createdDate' },\n              { path: 'group.updatedDate' },\n              { path: 'group.recentActivityDate' },\n              { path: 'group.lastActivityDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'group.details.logoPosition.x' },\n              { path: 'group.details.logoPosition.y' },\n              { path: 'group.details.mobileLogoPosition.x' },\n              { path: 'group.details.mobileLogoPosition.y' },\n              { path: 'group.coverImage.position.x' },\n              { path: 'group.coverImage.position.y' },\n              { path: 'group.coverImage.mobilePosition.x' },\n              { path: 'group.coverImage.mobilePosition.y' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getGroup;\n}\n\n/**\n * Retrieves a group by slug.\n *\n * The slug is the end of a group's URL that refers to a specific group.\n * For example, if a group's URL is `https:/example.com/groups/{my-fitness-group}`, the slug is `my-fitness-group`.\n * Slugs are case-sensitive. It is generally based on the group name, but for secret groups it is an autogenerated string of characters,\n * for example, `https:/example.com/groups/{5D3yTX}`.\n *\n * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n */\nexport function getGroupBySlug(payload: object): RequestOptionsFactory<any> {\n  function __getGroupBySlug({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.social_groups.v2.group',\n      method: 'GET' as any,\n      methodFqn: 'wix.social.groups.api.v2.GroupsService.GetGroupBySlug',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixSocialGroupsApiV2GroupsServiceUrl({\n        protoPath: '/v2/groups/slugs/{slug}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'group.createdDate' },\n              { path: 'group.updatedDate' },\n              { path: 'group.recentActivityDate' },\n              { path: 'group.lastActivityDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'group.details.logoPosition.x' },\n              { path: 'group.details.logoPosition.y' },\n              { path: 'group.details.mobileLogoPosition.x' },\n              { path: 'group.details.mobileLogoPosition.y' },\n              { path: 'group.coverImage.position.x' },\n              { path: 'group.coverImage.position.y' },\n              { path: 'group.coverImage.mobilePosition.x' },\n              { path: 'group.coverImage.mobilePosition.y' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getGroupBySlug;\n}\n\n/**\n * Retrieves up to 100 groups.\n *\n *\n * 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.\n *\n * > **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)`.\n */\nexport function listGroups(payload: object): RequestOptionsFactory<any> {\n  function __listGroups({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.social_groups.v2.group',\n      method: 'GET' as any,\n      methodFqn: 'wix.social.groups.api.v2.GroupsService.ListGroups',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixSocialGroupsApiV2GroupsServiceUrl({\n        protoPath: '/v2/groups',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'groups.createdDate' },\n              { path: 'groups.updatedDate' },\n              { path: 'groups.recentActivityDate' },\n              { path: 'groups.lastActivityDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'groups.details.logoPosition.x' },\n              { path: 'groups.details.logoPosition.y' },\n              { path: 'groups.details.mobileLogoPosition.x' },\n              { path: 'groups.details.mobileLogoPosition.y' },\n              { path: 'groups.coverImage.position.x' },\n              { path: 'groups.coverImage.position.y' },\n              { path: 'groups.coverImage.mobilePosition.x' },\n              { path: 'groups.coverImage.mobilePosition.y' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __listGroups;\n}\n\n/**\n * Retrieves up to 100 groups, given the provided paging, filtering, and sorting.\n *\n * Supported fields for filtering:\n * - `title`\n *\n * Supported fields for sorting:\n * - `title`\n * - `createdDate`\n * - `membersCount`\n * - `recentActivityDate`\n *\n * For groups with `group.privacyStatus` set to `SECRET`, only group admins and group members can see the group and its content.\n */\nexport function queryGroups(payload: object): RequestOptionsFactory<any> {\n  function __queryGroups({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.social_groups.v2.group',\n      method: 'POST' as any,\n      methodFqn: 'wix.social.groups.api.v2.GroupsService.QueryGroups',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixSocialGroupsApiV2GroupsServiceUrl({\n        protoPath: '/v2/groups/query',\n        data: payload,\n        host,\n      }),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'groups.createdDate' },\n              { path: 'groups.updatedDate' },\n              { path: 'groups.recentActivityDate' },\n              { path: 'groups.lastActivityDate' },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'groups.details.logoPosition.x' },\n              { path: 'groups.details.logoPosition.y' },\n              { path: 'groups.details.mobileLogoPosition.x' },\n              { path: 'groups.details.mobileLogoPosition.y' },\n              { path: 'groups.coverImage.position.x' },\n              { path: 'groups.coverImage.position.y' },\n              { path: 'groups.coverImage.mobilePosition.x' },\n              { path: 'groups.coverImage.mobilePosition.y' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryGroups;\n}\n","import {\n  createGroup as publicCreateGroup,\n  updateGroup as publicUpdateGroup,\n  deleteGroup as publicDeleteGroup,\n  getGroup as publicGetGroup,\n  getGroupBySlug as publicGetGroupBySlug,\n  listGroups as publicListGroups,\n  queryGroups as publicQueryGroups,\n  typedQueryGroups as publicTypedQueryGroups,\n} from './social-groups-v2-group-groups.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n  BuildRESTFunction,\n  MaybeContext,\n  BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onGroupCreated as publicOnGroupCreated } from './social-groups-v2-group-groups.public.js';\nimport { onGroupDeleted as publicOnGroupDeleted } from './social-groups-v2-group-groups.public.js';\nimport { onGroupCoverChanged as publicOnGroupCoverChanged } from './social-groups-v2-group-groups.public.js';\nimport { onGroupDescriptionChanged as publicOnGroupDescriptionChanged } from './social-groups-v2-group-groups.public.js';\nimport { onGroupUpdated as publicOnGroupUpdated } from './social-groups-v2-group-groups.public.js';\n\nexport const createGroup: MaybeContext<\n  BuildRESTFunction<typeof publicCreateGroup> & typeof publicCreateGroup\n> = /*#__PURE__*/ createRESTModule(publicCreateGroup);\nexport const updateGroup: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateGroup> & typeof publicUpdateGroup\n> = /*#__PURE__*/ createRESTModule(publicUpdateGroup);\nexport const deleteGroup: MaybeContext<\n  BuildRESTFunction<typeof publicDeleteGroup> & typeof publicDeleteGroup\n> = /*#__PURE__*/ createRESTModule(publicDeleteGroup);\nexport const getGroup: MaybeContext<\n  BuildRESTFunction<typeof publicGetGroup> & typeof publicGetGroup\n> = /*#__PURE__*/ createRESTModule(publicGetGroup);\nexport const getGroupBySlug: MaybeContext<\n  BuildRESTFunction<typeof publicGetGroupBySlug> & typeof publicGetGroupBySlug\n> = /*#__PURE__*/ createRESTModule(publicGetGroupBySlug);\nexport const listGroups: MaybeContext<\n  BuildRESTFunction<typeof publicListGroups> & typeof publicListGroups\n> = /*#__PURE__*/ createRESTModule(publicListGroups);\nexport const queryGroups: MaybeContext<\n  BuildRESTFunction<typeof publicQueryGroups> & typeof publicQueryGroups\n> = /*#__PURE__*/ createRESTModule(publicQueryGroups);\nexport const typedQueryGroups: MaybeContext<\n  BuildRESTFunction<typeof publicTypedQueryGroups> &\n    typeof publicTypedQueryGroups\n> = /*#__PURE__*/ createRESTModule(publicTypedQueryGroups);\n/**\n * Triggered when a group is created.\n */\nexport const onGroupCreated: BuildEventDefinition<typeof publicOnGroupCreated> &\n  typeof publicOnGroupCreated = createEventModule(publicOnGroupCreated);\n/**\n * Triggered when a group is deleted.\n */\nexport const onGroupDeleted: BuildEventDefinition<typeof publicOnGroupDeleted> &\n  typeof publicOnGroupDeleted = createEventModule(publicOnGroupDeleted);\n/**\n * Triggered when a group's logo is changed.\n */\nexport const onGroupCoverChanged: BuildEventDefinition<\n  typeof publicOnGroupCoverChanged\n> &\n  typeof publicOnGroupCoverChanged = createEventModule(\n  publicOnGroupCoverChanged\n);\n/**\n * Triggered when a group's description is changed.\n */\nexport const onGroupDescriptionChanged: BuildEventDefinition<\n  typeof publicOnGroupDescriptionChanged\n> &\n  typeof publicOnGroupDescriptionChanged = createEventModule(\n  publicOnGroupDescriptionChanged\n);\n/**\n * Triggered when a group is updated. See payload for more information about the specific trigger.\n */\nexport const onGroupUpdated: BuildEventDefinition<typeof publicOnGroupUpdated> &\n  typeof publicOnGroupUpdated = createEventModule(publicOnGroupUpdated);\n\nexport {\n  Type,\n  AllowPolicy,\n  StepKey,\n  PrivacyStatus,\n  IdentityType,\n  ContentType,\n  SortOrder,\n  MembershipStatus,\n  BMFeature,\n  WebhookIdentityType,\n} from './social-groups-v2-group-groups.universal.js';\nexport {\n  Group,\n  Events,\n  Logo,\n  GroupDetailsPosition,\n  Image,\n  Position,\n  OnboardingStepSettings,\n  AccessRestriction,\n  AccessRestrictionDataOneOf,\n  GroupDetails,\n  CoverImage,\n  GroupSettings,\n  Identity,\n  CreateGroupRequest,\n  CreateGroupResponse,\n  UpdateGroupRequest,\n  UpdateGroupResponse,\n  GroupCoverChanged,\n  GroupDescriptionChanged,\n  DeleteGroupRequest,\n  DeleteGroupResponse,\n  GetGroupRequest,\n  GetGroupResponse,\n  GetGroupBySlugRequest,\n  GetGroupBySlugResponse,\n  GetGroupIdBySlugRequest,\n  GetGroupIdBySlugResponse,\n  GlobalFeedPermissions,\n  FeedPermissions,\n  FeedItemPermissions,\n  ListGroupsRequest,\n  ListGroupsResponse,\n  PagingMetadata,\n  ListGroupsByUserIdRequest,\n  ListGroupsByUserIdResponse,\n  GroupWithMsId,\n  QueryGroupsRequest,\n  Query,\n  Sorting,\n  Paging,\n  QueryGroupsResponse,\n  QueryJoinedGroupsRequest,\n  QueryJoinedGroupsResponse,\n  QueryGroupsByMembershipRequest,\n  GroupPermissions,\n  QueryGroupsByMembershipResponse,\n  ListGroupIntegrationsDataRequest,\n  ListGroupIntegrationsDataResponse,\n  GroupIntegrationsData,\n  GetGroupMembersGroupIdsRequest,\n  GetGroupMembersGroupIdsResponse,\n  GetGroupBMFeaturesRequest,\n  GetGroupBMFeaturesResponse,\n  BMFeatures,\n  QueryJoinedGroupsWithMemberRequest,\n  QueryJoinedGroupsWithMemberResponse,\n  GetPrivacyRequest,\n  GetPrivacyResponse,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  BaseEventMetadata,\n  EventMetadata,\n  AccountInfoMetadata,\n  GroupCreatedEnvelope,\n  GroupDeletedEnvelope,\n  GroupCoverChangedEnvelope,\n  GroupDescriptionChangedEnvelope,\n  GroupUpdatedEnvelope,\n  CreateGroupOptions,\n  UpdateGroup,\n  UpdateGroupOptions,\n  GetGroupOptions,\n  GetGroupBySlugOptions,\n  ListGroupsOptions,\n  QueryGroupsOptions,\n  GroupsQueryResult,\n  GroupsQueryBuilder,\n  GroupQuerySpec,\n} from './social-groups-v2-group-groups.universal.js';\nexport { utils } from './social-groups-v2-group-groups.universal.js';\nexport {\n  TypeWithLiterals,\n  AllowPolicyWithLiterals,\n  StepKeyWithLiterals,\n  PrivacyStatusWithLiterals,\n  IdentityTypeWithLiterals,\n  ContentTypeWithLiterals,\n  SortOrderWithLiterals,\n  MembershipStatusWithLiterals,\n  BMFeatureWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n  CommonQueryWithEntityContext,\n  GroupQuery,\n} from './social-groups-v2-group-groups.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTFloatToSDKFloat","transformRESTTimestampToSDKTimestamp","transformPaths","payload","transformPaths","Type","AllowPolicy","StepKey","PrivacyStatus","IdentityType","ContentType","SortOrder","MembershipStatus","BMFeature","WebhookIdentityType","createGroup","updateGroup","deleteGroup","getGroup","getGroupBySlug","listGroups","queryGroups","createGroup","updateGroup","deleteGroup","getGroup","getGroupBySlug","listGroups","queryGroups","typedQueryGroups","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","transformRESTFloatToSDKFloat","createGroup","updateGroup","deleteGroup","getGroup","getGroupBySlug","listGroups","queryGroups","typedQueryGroups","onGroupCreated","onGroupDeleted","onGroupCoverChanged","onGroupDescriptionChanged","onGroupUpdated"]}