import { NonNullablePaths } from '@wix/sdk-types'; interface Badge { /** * Badge ID. * @format GUID * @readonly */ _id?: string; /** Text displayed on the badge. */ title?: string | null; /** Badge description. */ description?: string | null; /** * Badge background color in hexadecimal RGB format. Uppercase letters only. * * Default: `#796EFF ` (purple). * @format COLOR_HEX */ backgroundColor?: string | null; /** * Badge text color in hexadecimal RGB format. Uppercase letters only. * * Default: `"#FFFFFF"` (white). * @format COLOR_HEX */ textColor?: string | null; /** * Badge icon as an SVG image. One of: * * - An external web URL in the following format: `http(s)://`. * - The [`sourceUrl`](https://dev.wix.com/docs/sdk/backend-modules/media/files/get-file-descriptor) for a Wix Media Manager file. Wix Media Manager file names in a `wix:image://...` format are not supported. */ icon?: string | null; /** * Whether the badge has special permissions * to access specific members-only pages.

* When `true`, members with the badge receive special permissions, * and Wix users can * [manage badge permissions in the dashboard](https://support.wix.com/en/article/site-members-creating-and-managing-member-badges?tabs=Dashboard-2#managing-member-badges). * When `false`, members with the badge receive no special permissions. */ permissionsEnabled?: boolean | null; /** * Slugified name. Used to represent the badge in a URL. * @readonly */ slug?: string | null; /** * Date the badge was created. * @readonly */ _createdDate?: Date | null; /** * Date the badge was updated. * @readonly */ _updatedDate?: Date | null; } interface CreateBadgeRequest { /** Badge to create. */ badge: Badge; } interface CreateBadgeResponse { /** Created badge. */ badge?: Badge; } interface UpdateBadgeRequest { /** Badge to update. */ badge: Badge; } interface UpdateBadgeResponse { /** Updated badge. */ badge?: Badge; } interface ListBadgesRequest { /** Pagination options. */ paging?: Paging; } interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface ListBadgesResponse { /** Retrieved badges. */ badges?: Badge[]; /** Metadata for the paginated results. */ 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 QueryBadgesRequest { /** * Filter options. * Currently supported fields for filtering: * - `id` * - `title` * - `slug` * For more details on how to use filter, see [API Query Language: Filters](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * Sorting options. * For more details on how to use sorting, * see [API Query Language: Sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting) */ sort?: Sorting[]; /** Pagination options. */ paging?: Paging; } 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 QueryBadgesResponse { /** Retrieved badges. */ badges?: Badge[]; /** Metadata for the paginated results. */ metadata?: PagingMetadata; } interface GetBadgeRequest { /** * Badge ID. * @format GUID */ _id: string; } interface GetBadgeResponse { /** Badge. */ badge?: Badge; } interface DeleteBadgeRequest { /** * Badge ID. * @format GUID */ _id: string; } interface DeleteBadgeResponse { } interface CountBadgesRequest { /** * Filter options. * Currently supported fields for filtering: * - `id` * - `title` * - `slug` * For more details on how to use filter, see [API Query Language: Filters](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; } interface CountBadgesResponse { /** Amount of badges. */ count?: string; } interface AssignBadgeRequest { /** * Badge ID. * @format GUID */ _id: string; /** * Member IDs to assign to the badge. * @format GUID */ memberIds: string[]; } interface AssignBadgeResponse { /** * Member IDs assigned to the badge. * @format GUID */ memberIds?: string[]; } interface BadgeAssigned { /** * ID of the member who received the badge. * @format GUID */ memberId?: string; } interface AssignBadgesRequest { /** * Badge IDs to assign to the member. * @format GUID * @minSize 1 * @maxSize 100 */ ids?: string[]; /** * Member ID. * @format GUID */ memberId?: string; } interface AssignBadgesResponse { /** * Badge IDs newly assigned to the member. * @format GUID */ ids?: string[]; } interface UnassignBadgeRequest { /** * Badge ID. * @format GUID */ _id: string; /** * List of members to remove. * @format GUID */ memberIds: string[]; } interface UnassignBadgeResponse { } interface BadgeUnassigned { /** * ID of the member who lost the badge. * @format GUID */ memberId?: string; } interface ListMembersRequest { /** * Badge ID. * @format GUID */ _id: string; /** Pagination options. */ paging?: Paging; } interface ListMembersResponse { /** * Member IDs assigned to the badge. * @format GUID */ memberIds?: string[]; /** Metadata for the paginated results. */ metadata?: PagingMetadata; } interface ListMembersBadgeIdsRequest { /** * Member IDs to retrieve badges for. * @format GUID * @minSize 1 * @maxSize 100 */ memberIds: string[]; } interface ListMembersBadgeIdsResponse { /** List of members and the badges they're assigned to. */ memberBadgeIds?: MemberBadgeIds[]; } interface MemberBadgeIds { /** * Member ID. * @format GUID */ memberId?: string; /** * List of badges the member is assigned to. * @format GUID */ badgeIds?: string[]; } interface GetMemberCountsPerBadgeRequest { } interface GetMemberCountsPerBadgeResponse { /** Badges and the amount of members who have each badge. */ badgeMemberCounts?: BadgeMemberCount[]; } interface BadgeMemberCount { /** * Badge ID. * @format GUID */ badgeId?: string; /** Badge member count. */ memberCount?: number; } interface UpdateBadgesDisplayOrderRequest { /** * Badge IDs in the order to display. * @format GUID * @minSize 1 */ badgeIds: string[]; } interface UpdateBadgesDisplayOrderResponse { /** Reordered badges list. */ badges?: Badge[]; } interface ListMembersWithBadgesRequest { /** Cursor paging options. */ paging?: CursorPaging; } interface CursorPaging { /** * Maximum number of items to return in the results. * @max 100 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. * @maxLength 16000 */ cursor?: string | null; } interface ListMembersWithBadgesResponse { /** * List of members. * @format GUID */ memberIds?: string[]; /** Metadata for the paginated results. */ pagingMetadata?: CursorPagingMetadata; } interface CursorPagingMetadata { /** Number of items returned in the response. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; } interface Cursors { /** * Cursor string pointing to the next page in the list of results. * @maxLength 16000 */ next?: string | null; /** * Cursor pointing to the previous page in the list of results. * @maxLength 16000 */ prev?: string | null; } 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 { entity?: string; } 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. */ currentEntity?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntity?: string | null; } interface ActionEvent { body?: 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; } 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 BaseEventMetadata { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; } interface EventMetadata extends BaseEventMetadata { /** 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; } interface BadgeAssignedEnvelope { data: BadgeAssigned; metadata: EventMetadata; } /** * Triggered when a member receives a badge. * @permissionScope Manage Stores * @permissionScopeId SCOPE.STORES.MANAGE-STORES * @permissionScope Manage Challenges * @permissionScopeId SCOPE.CHALLENGES.MANAGE * @permissionScope Manage Badges * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES * @permissionScope Read Badges * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES * @permissionId BADGES.BADGE_READ * @webhook * @eventType wix.badges.v3.badge_badge_assigned * @serviceIdentifier com.wixpress.badges.v3.BadgesServiceV3 * @slug badge_assigned */ declare function onBadgeAssigned(handler: (event: BadgeAssignedEnvelope) => void | Promise): void; interface BadgeUnassignedEnvelope { data: BadgeUnassigned; metadata: EventMetadata; } /** * Triggered when a member's badge is removed. * @permissionScope Manage Stores * @permissionScopeId SCOPE.STORES.MANAGE-STORES * @permissionScope Manage Challenges * @permissionScopeId SCOPE.CHALLENGES.MANAGE * @permissionScope Manage Badges * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES * @permissionScope Read Badges * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES * @permissionId BADGES.BADGE_READ * @webhook * @eventType wix.badges.v3.badge_badge_unassigned * @serviceIdentifier com.wixpress.badges.v3.BadgesServiceV3 * @slug badge_unassigned */ declare function onBadgeUnassigned(handler: (event: BadgeUnassignedEnvelope) => void | Promise): void; interface BadgeCreatedEnvelope { entity: Badge; metadata: EventMetadata; } /** * Triggered when a badge is created. * @permissionScope Manage Stores * @permissionScopeId SCOPE.STORES.MANAGE-STORES * @permissionScope Manage Challenges * @permissionScopeId SCOPE.CHALLENGES.MANAGE * @permissionScope Manage Badges * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES * @permissionScope Read Badges * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES * @permissionId BADGES.BADGE_READ * @webhook * @eventType wix.badges.v3.badge_created * @serviceIdentifier com.wixpress.badges.v3.BadgesServiceV3 * @slug created */ declare function onBadgeCreated(handler: (event: BadgeCreatedEnvelope) => void | Promise): void; interface BadgeDeletedEnvelope { metadata: EventMetadata; } /** * Triggered when a badge is deleted. * @permissionScope Manage Stores * @permissionScopeId SCOPE.STORES.MANAGE-STORES * @permissionScope Manage Challenges * @permissionScopeId SCOPE.CHALLENGES.MANAGE * @permissionScope Manage Badges * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES * @permissionScope Read Badges * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES * @permissionId BADGES.BADGE_READ * @webhook * @eventType wix.badges.v3.badge_deleted * @serviceIdentifier com.wixpress.badges.v3.BadgesServiceV3 * @slug deleted */ declare function onBadgeDeleted(handler: (event: BadgeDeletedEnvelope) => void | Promise): void; interface BadgeUpdatedEnvelope { entity: Badge; metadata: EventMetadata; } /** * Triggered when a badge is updated. * @permissionScope Manage Stores * @permissionScopeId SCOPE.STORES.MANAGE-STORES * @permissionScope Manage Challenges * @permissionScopeId SCOPE.CHALLENGES.MANAGE * @permissionScope Manage Badges * @permissionScopeId SCOPE.DC-MEMBERS.MANAGE-BADGES * @permissionScope Read Badges * @permissionScopeId SCOPE.DC-MEMBERS.READ-BADGES * @permissionId BADGES.BADGE_READ * @webhook * @eventType wix.badges.v3.badge_updated * @serviceIdentifier com.wixpress.badges.v3.BadgesServiceV3 * @slug updated */ declare function onBadgeUpdated(handler: (event: BadgeUpdatedEnvelope) => void | Promise): void; type BadgeNonNullablePaths = `_id`; /** * Creates a badge. * * New badges do not have any badge permissions by default. Wix users can set badge permissions from the [Badges page in the dashboard](https://support.wix.com/en/article/site-members-creating-and-managing-member-badges?tabs=Dashboard-0#managing-member-badges). * * If `backgroundColor` or `textColor` are not specified, they default to `"#796EFF"` (purple) and `"#FFFFFF"` (white) respectively. * @param badge - Badge to create. * @public * @requiredField badge * @requiredField badge.backgroundColor * @requiredField badge.textColor * @requiredField badge.title * @permissionId BADGES.BADGE_CREATE * @applicableIdentity APP * @returns Created badge. * @fqn com.wixpress.badges.v3.BadgesServiceV3.CreateBadge */ declare function createBadge(badge: NonNullablePaths): Promise>; /** * Updates a badge. * * Note that the badge `slug` is based on the badge `title`. If you update the `title`, the `slug` updates accordingly. * @param _id - Badge ID. * @public * @requiredField _id * @requiredField badge * @permissionId BADGES.BADGE_UPDATE * @applicableIdentity APP * @returns Updated badge. * @fqn com.wixpress.badges.v3.BadgesServiceV3.UpdateBadge */ declare function updateBadge(_id: string, badge: UpdateBadge): Promise>; interface UpdateBadge { /** * Badge ID. * @format GUID * @readonly */ _id?: string; /** Text displayed on the badge. */ title?: string | null; /** Badge description. */ description?: string | null; /** * Badge background color in hexadecimal RGB format. Uppercase letters only. * * Default: `#796EFF ` (purple). * @format COLOR_HEX */ backgroundColor?: string | null; /** * Badge text color in hexadecimal RGB format. Uppercase letters only. * * Default: `"#FFFFFF"` (white). * @format COLOR_HEX */ textColor?: string | null; /** * Badge icon as an SVG image. One of: * * - An external web URL in the following format: `http(s)://`. * - The [`sourceUrl`](https://dev.wix.com/docs/sdk/backend-modules/media/files/get-file-descriptor) for a Wix Media Manager file. Wix Media Manager file names in a `wix:image://...` format are not supported. */ icon?: string | null; /** * Whether the badge has special permissions * to access specific members-only pages.

* When `true`, members with the badge receive special permissions, * and Wix users can * [manage badge permissions in the dashboard](https://support.wix.com/en/article/site-members-creating-and-managing-member-badges?tabs=Dashboard-2#managing-member-badges). * When `false`, members with the badge receive no special permissions. */ permissionsEnabled?: boolean | null; /** * Slugified name. Used to represent the badge in a URL. * @readonly */ slug?: string | null; /** * Date the badge was created. * @readonly */ _createdDate?: Date | null; /** * Date the badge was updated. * @readonly */ _updatedDate?: Date | null; } /** * Retrieves up to 1,000 badges, given the requested paging. * * Default `paging.limit` is `100` and `paging.offset` is `0`. * * This method is not universal and only runs on the backend. * @public * @permissionId BADGES.BADGE_READ * @applicableIdentity APP * @applicableIdentity VISITOR * @fqn com.wixpress.badges.v3.BadgesServiceV3.ListBadges */ declare function listBadges(options?: ListBadgesOptions): Promise>; interface ListBadgesOptions { /** Pagination options. */ paging?: Paging; } /** * Retrieves a badge. * * This method is not universal and only runs on the backend. * @param _id - Badge ID. * @public * @requiredField _id * @permissionId BADGES.BADGE_READ * @applicableIdentity APP * @applicableIdentity VISITOR * @returns Badge. * @fqn com.wixpress.badges.v3.BadgesServiceV3.GetBadge */ declare function getBadge(_id: string): Promise>; /** * Deletes a badge. * @param _id - Badge ID. * @public * @requiredField _id * @permissionId BADGES.BADGE_DELETE * @applicableIdentity APP * @fqn com.wixpress.badges.v3.BadgesServiceV3.DeleteBadge */ declare function deleteBadge(_id: string): Promise; /** * Assigns a badge to site members. * * Members inherit the badge's permissions when they receive the badge. * Badge permissions are added to previous member permissions, they don't replace the existing permissions. * @param _id - Badge ID. * @param memberIds - Member IDs to assign to the badge. * @public * @requiredField _id * @requiredField memberIds * @permissionId BADGES.BADGE_ASSIGN * @applicableIdentity APP * @fqn com.wixpress.badges.v3.BadgesServiceV3.AssignBadge */ declare function assignBadge(_id: string, memberIds: string[]): Promise>; /** * Removes an assigned badge from multiple site members. * * The members lose the badge's permissions when the badge is removed. * @param _id - Badge ID. * @param memberIds - List of members to remove. * @public * @requiredField _id * @requiredField memberIds * @permissionId BADGES.BADGE_ASSIGN * @applicableIdentity APP * @fqn com.wixpress.badges.v3.BadgesServiceV3.UnassignBadge */ declare function unassignBadge(_id: string, memberIds: string[]): Promise; /** * Retrieves up to 1,000 site members assigned to a badge. * * Default `paging.limit` is `100` and `paging.offset` is `0`. * * This method is not universal and only runs on the backend. * @param _id - Badge ID. * @public * @requiredField _id * @permissionId BADGES.BADGE_READ_MEMBERS * @applicableIdentity APP * @applicableIdentity VISITOR * @fqn com.wixpress.badges.v3.BadgesServiceV3.ListMembers */ declare function listMembersByBadge(_id: string, options?: ListMembersByBadgeOptions): Promise>; interface ListMembersByBadgeOptions { /** Pagination options. */ paging?: Paging; } /** * Retrieves badges assigned to specified members. * * Members are typically associated with a contact, each having a distinct `memberId` and `contactId`. When passing the ID as a parameter, avoid presuming the IDs are identical since they represent separate entities. * * This method is not universal and only runs on the backend. * @param memberIds - Member IDs to retrieve badges for. * @public * @requiredField memberIds * @permissionId BADGES.BADGE_READ_MEMBERS * @applicableIdentity APP * @applicableIdentity VISITOR * @fqn com.wixpress.badges.v3.BadgesServiceV3.ListMembersBadgeIds */ declare function listBadgesPerMember(memberIds: string[]): Promise>; /** * Retrieves a member count per badge. * * This method is not universal function and only runs on the backend. * @public * @permissionId BADGES.BADGE_READ_MEMBERS * @applicableIdentity APP * @applicableIdentity VISITOR * @fqn com.wixpress.badges.v3.BadgesServiceV3.GetMemberCountsPerBadge */ declare function getMemberCountsPerBadge(): Promise>; /** * Updates the display order of badges. * * This method is not universal function and only runs on the backend * @param badgeIds - Badge IDs in the order to display. * @public * @requiredField badgeIds * @permissionId BADGES.BADGE_UPDATE_DISPLAY_ORDER * @applicableIdentity APP * @fqn com.wixpress.badges.v3.BadgesServiceV3.UpdateBadgesDisplayOrder */ declare function updateBadgesDisplayOrder(badgeIds: string[]): Promise>; export { type ActionEvent, type AssignBadgeRequest, type AssignBadgeResponse, type AssignBadgesRequest, type AssignBadgesResponse, type Badge, type BadgeAssigned, type BadgeAssignedEnvelope, type BadgeCreatedEnvelope, type BadgeDeletedEnvelope, type BadgeMemberCount, type BadgeUnassigned, type BadgeUnassignedEnvelope, type BadgeUpdatedEnvelope, type BaseEventMetadata, type CountBadgesRequest, type CountBadgesResponse, type CreateBadgeRequest, type CreateBadgeResponse, type CursorPaging, type CursorPagingMetadata, type Cursors, type DeleteBadgeRequest, type DeleteBadgeResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type GetBadgeRequest, type GetBadgeResponse, type GetMemberCountsPerBadgeRequest, type GetMemberCountsPerBadgeResponse, type IdentificationData, type IdentificationDataIdOneOf, type ListBadgesOptions, type ListBadgesRequest, type ListBadgesResponse, type ListMembersBadgeIdsRequest, type ListMembersBadgeIdsResponse, type ListMembersByBadgeOptions, type ListMembersRequest, type ListMembersResponse, type ListMembersWithBadgesRequest, type ListMembersWithBadgesResponse, type MemberBadgeIds, type MessageEnvelope, type Paging, type PagingMetadata, type QueryBadgesRequest, type QueryBadgesResponse, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, type UnassignBadgeRequest, type UnassignBadgeResponse, type UpdateBadge, type UpdateBadgeRequest, type UpdateBadgeResponse, type UpdateBadgesDisplayOrderRequest, type UpdateBadgesDisplayOrderResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, assignBadge, createBadge, deleteBadge, getBadge, getMemberCountsPerBadge, listBadges, listBadgesPerMember, listMembersByBadge, onBadgeAssigned, onBadgeCreated, onBadgeDeleted, onBadgeUnassigned, onBadgeUpdated, unassignBadge, updateBadge, updateBadgesDisplayOrder };