import { AddGroupMembersRequest as AddGroupMembersRequest$1, AddGroupMembersResponse as AddGroupMembersResponse$1, RemoveGroupMembersRequest as RemoveGroupMembersRequest$1, RemoveGroupMembersResponse as RemoveGroupMembersResponse$1, ListGroupMembersRequest as ListGroupMembersRequest$1, ListGroupMembersResponse as ListGroupMembersResponse$1, QueryGroupMembersRequest as QueryGroupMembersRequest$1, QueryGroupMembersResponse as QueryGroupMembersResponse$1, ListMembershipsRequest as ListMembershipsRequest$1, ListMembershipsResponse as ListMembershipsResponse$1, QueryMembershipsRequest as QueryMembershipsRequest$1, QueryMembershipsResponse as QueryMembershipsResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; /** * A group member represents an existing site member that has joined a group. * You can add, remove, and query group members. * Learn more about [group members](https://support.wix.com/en/article/wix-groups-adding-new-members-to-your-group). */ interface GroupMember { /** * Member ID. See the Members API for more details. * @readonly * @format GUID */ memberId?: string; /** Group member role. */ role?: GroupRole; /** * Date and time the group Member joined the group. * @readonly */ joinedDate?: Date | null; } /** * A group member may have multiple roles in a single group. * Currently, only `MEMBER` and `ADMIN` roles are supported, but more roles may be available in the future. */ interface GroupRole { /** Member's role. */ value?: RoleWithLiterals; } declare enum Role { /** Regular group member. */ MEMBER = "MEMBER", /** Group administrator. */ ADMIN = "ADMIN" } /** @enumType */ type RoleWithLiterals = Role | 'MEMBER' | 'ADMIN'; interface SocialGroupsEvent extends SocialGroupsEventPayloadOneOf { memberJoined?: MemberJoinedGroup; membersAdded?: MembersAddedToGroup; joinRequestsApproved?: JoinRequestsApproved; membersInvited?: MembersInvitedToGroup; } /** @oneof */ interface SocialGroupsEventPayloadOneOf { memberJoined?: MemberJoinedGroup; membersAdded?: MembersAddedToGroup; joinRequestsApproved?: JoinRequestsApproved; membersInvited?: MembersInvitedToGroup; } interface MemberJoinedGroup { /** @format GUID */ groupId?: string; /** @format GUID */ groupsInstanceId?: string; /** @format GUID */ siteMemberId?: string; } interface MembersAddedToGroup { /** @format GUID */ groupId?: string; /** @format GUID */ groupsInstanceId?: string; /** @format GUID */ whoAddedId?: string | null; /** @format GUID */ siteMemberIds?: string[]; /** * Used for Apes sticky experiment * @format GUID */ operationId?: string; } interface JoinRequestsApproved { /** @format GUID */ groupId?: string; /** @format GUID */ groupsInstanceId?: string; /** @format GUID */ siteMemberIds?: string[]; /** * Used for Apes sticky experiment * @format GUID */ operationId?: string; } interface MembersInvitedToGroup { /** @format GUID */ groupId?: string; /** @format GUID */ groupsInstanceId?: string; /** @format GUID */ siteMemberIds?: string[]; } /** ID of the group to join. */ interface JoinRequest { /** @format GUID */ groupId?: string; /** * Answers to membership questions. A Join Request will fail, if the answer to a required question is omitted. * @maxSize 50 */ membershipQuestionAnswers?: MembershipQuestionAnswer[]; autoInviteId?: string | null; } /** Answer to a membership question. */ interface MembershipQuestionAnswer { /** * Question ID. * @format GUID */ id?: string; /** * Answer text. * @maxLength 300 */ text?: string | null; } interface JoinResponse { /** New member. */ member?: GroupMember; } interface MemberJoined { /** * Group ID that member has joined. * @format GUID */ groupId?: string; /** Joined group member. */ groupMember?: GroupMember; } declare enum JoinBy { MANUALLY = "MANUALLY", PERSONAL_INVITE_LINK = "PERSONAL_INVITE_LINK", PUBLIC_INVITE_LINK = "PUBLIC_INVITE_LINK" } /** @enumType */ type JoinByWithLiterals = JoinBy | 'MANUALLY' | 'PERSONAL_INVITE_LINK' | 'PUBLIC_INVITE_LINK'; interface LeaveRequest { /** * ID of the Group to leave. * @format GUID */ groupId?: string; } interface LeaveResponse { } interface MemberLeft { /** * Group ID that member has left. * @format GUID */ groupId?: string; /** Group member that left. */ groupMember?: GroupMember; } interface AddGroupMembersRequest { /** * Group ID. * @format GUID */ groupId: string; /** * Member IDs. See the Members API for details. * @format GUID * @maxSize 100 */ memberIds?: string[]; } interface AddGroupMembersResponse { /** New members. */ members?: GroupMember[]; } interface MemberAdded { /** * Group ID that member was added to. * @format GUID */ groupId?: string; /** Added group member. */ groupMember?: GroupMember; } interface RemoveGroupMembersRequest { /** * Group ID. * @format GUID */ groupId: string; /** * Member IDs. See the Members API for details. * @format GUID * @maxSize 100 */ memberIds?: string[]; } interface RemoveGroupMembersResponse { } interface MemberRemoved { /** * Group ID that member was removed from. * @format GUID */ groupId?: string; /** Removed group member. */ groupMember?: GroupMember; } interface ListGroupMembersRequest { /** * Group ID. * @format GUID */ groupId: string; /** * Number of items to load. Maximum `100`. * @max 100 */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface ListGroupMembersResponse { /** Retrieved members. */ members?: GroupMember[]; /** Paging information. */ metadata?: PagingMetadata; } interface PagingMetadata { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; } interface QueryGroupMembersRequest { /** * Group ID. * @format GUID */ groupId: string; query?: Query; } interface Query { /** * Filter object in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: any; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` */ sort?: Sorting[]; /** Paging options to limit and skip the number of items. */ paging?: Paging; /** 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. */ fields?: string[]; /** 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. */ fieldsets?: string[]; } interface Sorting { /** * Name of the field to sort by. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface QueryGroupMembersResponse { /** Group members. */ members?: GroupMember[]; /** Paging information. */ metadata?: PagingMetadata; } interface QueryNonGroupMembersRequest { /** * Group ID. * @format GUID */ groupId?: string; query?: Query; } interface QueryNonGroupMembersResponse { /** Retrieved members. */ members?: GroupMember[]; } interface ListMembershipsRequest { /** * Member ID. See the Members API for details. * @format GUID */ memberId: string | null; /** * Number of items to load. Maximum `100`. * @max 100 */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface ListMembershipsResponse { /** Site member's memberships. */ memberships?: Membership[]; /** Paging information. */ metadata?: PagingMetadata; } interface Membership { /** * Group ID. * @readonly * @format GUID */ groupId?: string; /** Membership status with group. */ status?: MembershipStatusWithLiterals; /** Group member role. When membership status is not `JOINED`, this is empty. */ role?: GroupRole; } declare enum MembershipStatus { /** Undefined membership status. */ UNKNOWN_STATUS = "UNKNOWN_STATUS", /** Site member is a group member. */ JOINED = "JOINED", /** Site member has submitted a request to join this group. The request is still `PENDING`. */ PENDING = "PENDING" } /** @enumType */ type MembershipStatusWithLiterals = MembershipStatus | 'UNKNOWN_STATUS' | 'JOINED' | 'PENDING'; interface QueryMembershipsRequest { /** * Member ID. See the Members API for details. * @format GUID */ memberId: string | null; query?: Query; } interface QueryMembershipsResponse { /** Site member's memberships. */ memberships?: Membership[]; /** Paging information. */ metadata?: PagingMetadata; } interface QueryMyMembershipRequest { query?: Query; } interface QueryMyMembershipResponse { /** Site member's memberships. */ memberships?: Membership[]; /** Paging information. */ metadata?: PagingMetadata; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * 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. * 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. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function addGroupMembers(): __PublicMethodMetaInfo<'POST', { groupId: string; }, AddGroupMembersRequest$1, AddGroupMembersRequest, AddGroupMembersResponse$1, AddGroupMembersResponse>; declare function removeGroupMembers(): __PublicMethodMetaInfo<'DELETE', { groupId: string; }, RemoveGroupMembersRequest$1, RemoveGroupMembersRequest, RemoveGroupMembersResponse$1, RemoveGroupMembersResponse>; declare function listGroupMembers(): __PublicMethodMetaInfo<'GET', { groupId: string; }, ListGroupMembersRequest$1, ListGroupMembersRequest, ListGroupMembersResponse$1, ListGroupMembersResponse>; declare function queryGroupMembers(): __PublicMethodMetaInfo<'POST', { groupId: string; }, QueryGroupMembersRequest$1, QueryGroupMembersRequest, QueryGroupMembersResponse$1, QueryGroupMembersResponse>; declare function listMemberships(): __PublicMethodMetaInfo<'GET', { memberId: string; }, ListMembershipsRequest$1, ListMembershipsRequest, ListMembershipsResponse$1, ListMembershipsResponse>; declare function queryMemberships(): __PublicMethodMetaInfo<'POST', { memberId: string; }, QueryMembershipsRequest$1, QueryMembershipsRequest, QueryMembershipsResponse$1, QueryMembershipsResponse>; export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type AddGroupMembersRequest as AddGroupMembersRequestOriginal, type AddGroupMembersResponse as AddGroupMembersResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type GroupMember as GroupMemberOriginal, type GroupRole as GroupRoleOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, JoinBy as JoinByOriginal, type JoinByWithLiterals as JoinByWithLiteralsOriginal, type JoinRequest as JoinRequestOriginal, type JoinRequestsApproved as JoinRequestsApprovedOriginal, type JoinResponse as JoinResponseOriginal, type LeaveRequest as LeaveRequestOriginal, type LeaveResponse as LeaveResponseOriginal, type ListGroupMembersRequest as ListGroupMembersRequestOriginal, type ListGroupMembersResponse as ListGroupMembersResponseOriginal, type ListMembershipsRequest as ListMembershipsRequestOriginal, type ListMembershipsResponse as ListMembershipsResponseOriginal, type MemberAdded as MemberAddedOriginal, type MemberJoinedGroup as MemberJoinedGroupOriginal, type MemberJoined as MemberJoinedOriginal, type MemberLeft as MemberLeftOriginal, type MemberRemoved as MemberRemovedOriginal, type MembersAddedToGroup as MembersAddedToGroupOriginal, type MembersInvitedToGroup as MembersInvitedToGroupOriginal, type Membership as MembershipOriginal, type MembershipQuestionAnswer as MembershipQuestionAnswerOriginal, MembershipStatus as MembershipStatusOriginal, type MembershipStatusWithLiterals as MembershipStatusWithLiteralsOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type PagingMetadata as PagingMetadataOriginal, type Paging as PagingOriginal, type QueryGroupMembersRequest as QueryGroupMembersRequestOriginal, type QueryGroupMembersResponse as QueryGroupMembersResponseOriginal, type QueryMembershipsRequest as QueryMembershipsRequestOriginal, type QueryMembershipsResponse as QueryMembershipsResponseOriginal, type QueryMyMembershipRequest as QueryMyMembershipRequestOriginal, type QueryMyMembershipResponse as QueryMyMembershipResponseOriginal, type QueryNonGroupMembersRequest as QueryNonGroupMembersRequestOriginal, type QueryNonGroupMembersResponse as QueryNonGroupMembersResponseOriginal, type Query as QueryOriginal, type RemoveGroupMembersRequest as RemoveGroupMembersRequestOriginal, type RemoveGroupMembersResponse as RemoveGroupMembersResponseOriginal, type RestoreInfo as RestoreInfoOriginal, Role as RoleOriginal, type RoleWithLiterals as RoleWithLiteralsOriginal, type SocialGroupsEvent as SocialGroupsEventOriginal, type SocialGroupsEventPayloadOneOf as SocialGroupsEventPayloadOneOfOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, type Sorting as SortingOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, addGroupMembers, listGroupMembers, listMemberships, queryGroupMembers, queryMemberships, removeGroupMembers };