import { CreateBadgeRequest as CreateBadgeRequest$1, CreateBadgeResponse as CreateBadgeResponse$1, UpdateBadgeRequest as UpdateBadgeRequest$1, UpdateBadgeResponse as UpdateBadgeResponse$1, ListBadgesRequest as ListBadgesRequest$1, ListBadgesResponse as ListBadgesResponse$1, GetBadgeRequest as GetBadgeRequest$1, GetBadgeResponse as GetBadgeResponse$1, DeleteBadgeRequest as DeleteBadgeRequest$1, DeleteBadgeResponse as DeleteBadgeResponse$1, AssignBadgeRequest as AssignBadgeRequest$1, AssignBadgeResponse as AssignBadgeResponse$1, UnassignBadgeRequest as UnassignBadgeRequest$1, UnassignBadgeResponse as UnassignBadgeResponse$1, ListMembersRequest as ListMembersRequest$1, ListMembersResponse as ListMembersResponse$1, ListMembersBadgeIdsRequest as ListMembersBadgeIdsRequest$1, ListMembersBadgeIdsResponse as ListMembersBadgeIdsResponse$1, GetMemberCountsPerBadgeRequest as GetMemberCountsPerBadgeRequest$1, GetMemberCountsPerBadgeResponse as GetMemberCountsPerBadgeResponse$1, UpdateBadgesDisplayOrderRequest as UpdateBadgesDisplayOrderRequest$1, UpdateBadgesDisplayOrderResponse as UpdateBadgesDisplayOrderResponse$1 } from './index.typings.js';
import '@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.
* Example: `#FFFFFF`.
* @format COLOR_HEX
*/
backgroundColor?: string | null;
/**
* Badge text color in hexadecimal RGB format.
* Uppercase letters only.
* Example: `#C81B53`.
* @format COLOR_HEX
*/
textColor?: string | null;
/**
* URL of the badge icon image.
*
* It is recommended to use an `SVG` image format as it's resolution independent and looks good at any scale.
*/
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. For more information, see
* [API Query Language: Paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging).
*/
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 GetBadgeRequest {
/**
* Badge ID.
* @format GUID
*/
id: string;
}
interface GetBadgeResponse {
/** Badge. */
badge?: Badge;
}
interface DeleteBadgeRequest {
/**
* Badge ID.
* @format GUID
*/
id: string;
}
interface DeleteBadgeResponse {
}
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 UnassignBadgeRequest {
/**
* Badge ID.
* @format GUID
*/
id: string;
/**
* List of members to remove.
* @format GUID
*/
memberIds: string[];
}
interface UnassignBadgeResponse {
}
interface ListMembersRequest {
/**
* Badge ID.
* @format GUID
*/
id: string;
/**
* Pagination options. For more information, see
* [API Query Language: Paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging).
*/
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[];
}
type __PublicMethodMetaInfo = {
getUrl: (context: any) => string;
httpMethod: K;
path: string;
pathParams: M;
__requestType: T;
__originalRequestType: S;
__responseType: Q;
__originalResponseType: R;
};
declare function createBadge(): __PublicMethodMetaInfo<'POST', {}, CreateBadgeRequest$1, CreateBadgeRequest, CreateBadgeResponse$1, CreateBadgeResponse>;
declare function updateBadge(): __PublicMethodMetaInfo<'PATCH', {
badgeId: string;
}, UpdateBadgeRequest$1, UpdateBadgeRequest, UpdateBadgeResponse$1, UpdateBadgeResponse>;
declare function listBadges(): __PublicMethodMetaInfo<'GET', {}, ListBadgesRequest$1, ListBadgesRequest, ListBadgesResponse$1, ListBadgesResponse>;
declare function getBadge(): __PublicMethodMetaInfo<'GET', {
id: string;
}, GetBadgeRequest$1, GetBadgeRequest, GetBadgeResponse$1, GetBadgeResponse>;
declare function deleteBadge(): __PublicMethodMetaInfo<'DELETE', {
id: string;
}, DeleteBadgeRequest$1, DeleteBadgeRequest, DeleteBadgeResponse$1, DeleteBadgeResponse>;
declare function assignBadge(): __PublicMethodMetaInfo<'POST', {
id: string;
}, AssignBadgeRequest$1, AssignBadgeRequest, AssignBadgeResponse$1, AssignBadgeResponse>;
declare function unassignBadge(): __PublicMethodMetaInfo<'DELETE', {
id: string;
}, UnassignBadgeRequest$1, UnassignBadgeRequest, UnassignBadgeResponse$1, UnassignBadgeResponse>;
declare function listMembersByBadge(): __PublicMethodMetaInfo<'GET', {
id: string;
}, ListMembersRequest$1, ListMembersRequest, ListMembersResponse$1, ListMembersResponse>;
declare function listBadgesPerMember(): __PublicMethodMetaInfo<'POST', {}, ListMembersBadgeIdsRequest$1, ListMembersBadgeIdsRequest, ListMembersBadgeIdsResponse$1, ListMembersBadgeIdsResponse>;
declare function getMemberCountsPerBadge(): __PublicMethodMetaInfo<'GET', {}, GetMemberCountsPerBadgeRequest$1, GetMemberCountsPerBadgeRequest, GetMemberCountsPerBadgeResponse$1, GetMemberCountsPerBadgeResponse>;
declare function updateBadgesDisplayOrder(): __PublicMethodMetaInfo<'PATCH', {}, UpdateBadgesDisplayOrderRequest$1, UpdateBadgesDisplayOrderRequest, UpdateBadgesDisplayOrderResponse$1, UpdateBadgesDisplayOrderResponse>;
export { type __PublicMethodMetaInfo, assignBadge, createBadge, deleteBadge, getBadge, getMemberCountsPerBadge, listBadges, listBadgesPerMember, listMembersByBadge, unassignBadge, updateBadge, updateBadgesDisplayOrder };