import { NonNullablePaths } from '@wix/sdk-types'; interface MemberRoleDefinition { /** * Role definition ID. * @format GUID * @readonly */ _id?: string; /** Unique key that identifies the role. Used when assigning and unassigning roles to members. */ roleKey?: string; /** Display name of the role shown to site members. */ title?: string; /** When `true`, the role cannot be assigned to blocked members. */ blockable?: boolean; /** Revision number, used for checking the optimistic lock condition during updates. */ revision?: string | null; } interface SyncMetaSiteRolesRequest { siteMembersInstanceId?: string | null; metaSiteId?: string | null; } interface SyncMetaSiteRolesResponse { } interface CreateMemberRoleDefinitionRequest { /** Unique key that identifies the role. Must be uppercase (e.g. `"WRITER"`). */ roleKey: string; /** Display name of the role shown to site members. */ roleTitle: string; /** When `true`, the role cannot be assigned to blocked members. */ blockable?: boolean; } interface CreateMemberRoleDefinitionResponse { /** Created role definition. */ role?: MemberRoleDefinition; } interface ListMemberRoleDefinitionsRequest { } interface ListMemberRoleDefinitionsResponse { /** List of role definitions for the site. */ roles?: MemberRoleDefinition[]; } interface GetMemberRoleDefinitionRequest { /** Key of the role definition to retrieve. */ roleKey: string; } interface GetMemberRoleDefinitionResponse { /** Retrieved role definition. */ role?: MemberRoleDefinition; } interface UpdateMemberRoleDefinitionRequest { /** Key of the role definition to update. */ key: string; /** Whether the role can be assigned to blocked members. */ blockable?: boolean; /** Current revision number. Prevents conflicting concurrent updates. */ revision: string | null; } interface UpdateMemberRoleDefinitionResponse { /** Updated role definition. */ role?: MemberRoleDefinition; } interface DeleteMemberRoleDefinitionRequest { /** Key of the role definition to delete. */ roleKey: string; } interface DeleteMemberRoleDefinitionResponse { } interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf { /** Emitted on a meta site creation. */ siteCreated?: SiteCreated; /** Emitted on a meta site transfer completion. */ siteTransferred?: SiteTransferred; /** Emitted on a meta site deletion. */ siteDeleted?: SiteDeleted; /** Emitted on a meta site restoration. */ siteUndeleted?: SiteUndeleted; /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */ sitePublished?: SitePublished; /** Emitted on a meta site unpublish. */ siteUnpublished?: SiteUnpublished; /** Emitted when meta site is marked as template. */ siteMarkedAsTemplate?: SiteMarkedAsTemplate; /** Emitted when meta site is marked as a WixSite. */ siteMarkedAsWixSite?: SiteMarkedAsWixSite; /** Emitted when an application is provisioned (installed). */ serviceProvisioned?: ServiceProvisioned; /** Emitted when an application is removed (uninstalled). */ serviceRemoved?: ServiceRemoved; /** Emitted when meta site name (URL slug) is changed. */ siteRenamedPayload?: SiteRenamed; /** Emitted when meta site was permanently deleted. */ hardDeleted?: SiteHardDeleted; /** Emitted on a namespace change. */ namespaceChanged?: NamespaceChanged; /** Emitted when Studio is attached. */ studioAssigned?: StudioAssigned; /** Emitted when Studio is detached. */ studioUnassigned?: StudioUnassigned; /** * Emitted when one of the URLs is changed. After this event you may call `urls-server` to fetch * the actual URL. * * See: https://wix.slack.com/archives/C0UHEBPFT/p1732520791210559?thread_ts=1732027914.294059&cid=C0UHEBPFT * See: https://wix.slack.com/archives/C0UHEBPFT/p1744115197619459 */ urlChanged?: SiteUrlChanged; /** Site is marked as PurgedExternally */ sitePurgedExternally?: SitePurgedExternally; /** Emitted when Odeditor is attached. */ odeditorAssigned?: OdeditorAssigned; /** Emitted when Odeditor is detached. */ odeditorUnassigned?: OdeditorUnassigned; /** Emitted when Picasso is attached. */ picassoAssigned?: PicassoAssigned; /** Emitted when Picasso is detached. */ picassoUnassigned?: PicassoUnassigned; /** Emitted when Wixel is attached. */ wixelAssigned?: WixelAssigned; /** Emitted when Wixel is detached. */ wixelUnassigned?: WixelUnassigned; /** Emitted when StudioTwo is attached. */ studioTwoAssigned?: StudioTwoAssigned; /** Emitted when StudioTwo is detached. */ studioTwoUnassigned?: StudioTwoUnassigned; /** Emitted when media from user domain is enabled. */ userDomainMediaEnabled?: UserDomainMediaEnabled; /** Emitted when media from user domain is disabled. */ userDomainMediaDisabled?: UserDomainMediaDisabled; /** Emitted when Editorless is attached. */ editorlessAssigned?: EditorlessAssigned; /** Emitted when Editorless is detached. */ editorlessUnassigned?: EditorlessUnassigned; /** * A meta site id. * @format GUID */ metaSiteId?: string; /** A meta site version. Monotonically increasing. */ version?: string; /** A timestamp of the event. */ timestamp?: string; /** * TODO(meta-site): Change validation once validations are disabled for consumers * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659 * @maxSize 4000 */ assets?: Asset[]; } /** @oneof */ interface MetaSiteSpecialEventPayloadOneOf { /** Emitted on a meta site creation. */ siteCreated?: SiteCreated; /** Emitted on a meta site transfer completion. */ siteTransferred?: SiteTransferred; /** Emitted on a meta site deletion. */ siteDeleted?: SiteDeleted; /** Emitted on a meta site restoration. */ siteUndeleted?: SiteUndeleted; /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */ sitePublished?: SitePublished; /** Emitted on a meta site unpublish. */ siteUnpublished?: SiteUnpublished; /** Emitted when meta site is marked as template. */ siteMarkedAsTemplate?: SiteMarkedAsTemplate; /** Emitted when meta site is marked as a WixSite. */ siteMarkedAsWixSite?: SiteMarkedAsWixSite; /** Emitted when an application is provisioned (installed). */ serviceProvisioned?: ServiceProvisioned; /** Emitted when an application is removed (uninstalled). */ serviceRemoved?: ServiceRemoved; /** Emitted when meta site name (URL slug) is changed. */ siteRenamedPayload?: SiteRenamed; /** Emitted when meta site was permanently deleted. */ hardDeleted?: SiteHardDeleted; /** Emitted on a namespace change. */ namespaceChanged?: NamespaceChanged; /** Emitted when Studio is attached. */ studioAssigned?: StudioAssigned; /** Emitted when Studio is detached. */ studioUnassigned?: StudioUnassigned; /** * Emitted when one of the URLs is changed. After this event you may call `urls-server` to fetch * the actual URL. * * See: https://wix.slack.com/archives/C0UHEBPFT/p1732520791210559?thread_ts=1732027914.294059&cid=C0UHEBPFT * See: https://wix.slack.com/archives/C0UHEBPFT/p1744115197619459 */ urlChanged?: SiteUrlChanged; /** Site is marked as PurgedExternally */ sitePurgedExternally?: SitePurgedExternally; /** Emitted when Odeditor is attached. */ odeditorAssigned?: OdeditorAssigned; /** Emitted when Odeditor is detached. */ odeditorUnassigned?: OdeditorUnassigned; /** Emitted when Picasso is attached. */ picassoAssigned?: PicassoAssigned; /** Emitted when Picasso is detached. */ picassoUnassigned?: PicassoUnassigned; /** Emitted when Wixel is attached. */ wixelAssigned?: WixelAssigned; /** Emitted when Wixel is detached. */ wixelUnassigned?: WixelUnassigned; /** Emitted when StudioTwo is attached. */ studioTwoAssigned?: StudioTwoAssigned; /** Emitted when StudioTwo is detached. */ studioTwoUnassigned?: StudioTwoUnassigned; /** Emitted when media from user domain is enabled. */ userDomainMediaEnabled?: UserDomainMediaEnabled; /** Emitted when media from user domain is disabled. */ userDomainMediaDisabled?: UserDomainMediaDisabled; /** Emitted when Editorless is attached. */ editorlessAssigned?: EditorlessAssigned; /** Emitted when Editorless is detached. */ editorlessUnassigned?: EditorlessUnassigned; } interface Asset { /** * An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). * @maxLength 36 */ appDefId?: string; /** * An instance id. For legacy reasons may be UUID or a string. * @maxLength 200 */ instanceId?: string; /** An application state. */ state?: StateWithLiterals; } declare enum State { UNKNOWN = "UNKNOWN", ENABLED = "ENABLED", DISABLED = "DISABLED", PENDING = "PENDING", DEMO = "DEMO" } /** @enumType */ type StateWithLiterals = State | 'UNKNOWN' | 'ENABLED' | 'DISABLED' | 'PENDING' | 'DEMO'; interface SiteCreated { /** * A template identifier (empty if not created from a template). * @maxLength 36 */ originTemplateId?: string; /** * An account id of the owner. * @format GUID */ ownerId?: string; /** A context in which meta site was created. */ context?: SiteCreatedContextWithLiterals; /** * A meta site id from which this site was created. * * In case of a creation from a template it's a template id. * In case of a site duplication ("Save As" in dashboard or duplicate in UM) it's an id of a source site. * @format GUID */ originMetaSiteId?: string | null; /** * A meta site name (URL slug). * @maxLength 20 */ siteName?: string; /** A namespace. */ namespace?: NamespaceWithLiterals; } declare enum SiteCreatedContext { /** A valid option, we don't expose all reasons why site might be created. */ OTHER = "OTHER", /** A meta site was created from template. */ FROM_TEMPLATE = "FROM_TEMPLATE", /** A meta site was created by copying of the transfferred meta site. */ DUPLICATE_BY_SITE_TRANSFER = "DUPLICATE_BY_SITE_TRANSFER", /** A copy of existing meta site. */ DUPLICATE = "DUPLICATE", /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */ OLD_SITE_TRANSFER = "OLD_SITE_TRANSFER", /** deprecated A meta site was created for Flash editor. */ FLASH = "FLASH" } /** @enumType */ type SiteCreatedContextWithLiterals = SiteCreatedContext | 'OTHER' | 'FROM_TEMPLATE' | 'DUPLICATE_BY_SITE_TRANSFER' | 'DUPLICATE' | 'OLD_SITE_TRANSFER' | 'FLASH'; declare enum Namespace { UNKNOWN_NAMESPACE = "UNKNOWN_NAMESPACE", /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */ WIX = "WIX", /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */ SHOUT_OUT = "SHOUT_OUT", /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */ ALBUMS = "ALBUMS", /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */ WIX_STORES_TEST_DRIVE = "WIX_STORES_TEST_DRIVE", /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */ HOTELS = "HOTELS", /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */ CLUBS = "CLUBS", /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */ ONBOARDING_DRAFT = "ONBOARDING_DRAFT", /** * AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. * Not the dev-center dev site (see Flag.DEV_CENTER_DEV_SITE_FLAG). */ DEV_SITE = "DEV_SITE", /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */ LOGOS = "LOGOS", /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */ VIDEO_MAKER = "VIDEO_MAKER", /** MetaSites with this namespace will *not* be shown in a user's site list by default. */ PARTNER_DASHBOARD = "PARTNER_DASHBOARD", /** MetaSites with this namespace will *not* be shown in a user's site list by default. */ DEV_CENTER_COMPANY = "DEV_CENTER_COMPANY", /** * A draft created by HTML editor on open. Upon "first save" it will be moved to be of WIX domain. * * Meta site with this namespace will *not* be shown in a user's site list by default. */ HTML_DRAFT = "HTML_DRAFT", /** * the user-journey for Fitness users who want to start from managing their business instead of designing their website. * Will be accessible from Site List and will not have a website app. * Once the user attaches a site, the site will become a regular wixsite. */ SITELESS_BUSINESS = "SITELESS_BUSINESS", /** Belongs to "strategic products" company. Supports new product in the creator's economy space. */ CREATOR_ECONOMY = "CREATOR_ECONOMY", /** It is to be used in the Business First efforts. */ DASHBOARD_FIRST = "DASHBOARD_FIRST", /** Bookings business flow with no site. */ ANYWHERE = "ANYWHERE", /** Namespace for Headless Backoffice with no editor */ HEADLESS = "HEADLESS", /** * Namespace for master site that will exist in parent account that will be referenced by subaccounts * The site will be used for account level CSM feature for enterprise */ ACCOUNT_MASTER_CMS = "ACCOUNT_MASTER_CMS", /** Rise.ai Siteless account management for Gift Cards and Store Credit. */ RISE = "RISE", /** * As part of the branded app new funnel, users now can create a meta site that will be branded app first. * There's a blank site behind the scene but it's blank). * The Mobile company will be the owner of this namespace. */ BRANDED_FIRST = "BRANDED_FIRST", /** Nownia.com Siteless account management for Ai Scheduling Assistant. */ NOWNIA = "NOWNIA", /** * UGC Templates are templates that are created by users for personal use and to sale to other users. * The Partners company owns this namespace. */ UGC_TEMPLATE = "UGC_TEMPLATE", /** Codux Headless Sites */ CODUX = "CODUX", /** Bobb - AI Design Creator. */ MEDIA_DESIGN_CREATOR = "MEDIA_DESIGN_CREATOR", /** * Shared Blog Site is a unique single site across Enterprise account, * This site will hold all Blog posts related to the Marketing product. */ SHARED_BLOG_ENTERPRISE = "SHARED_BLOG_ENTERPRISE", /** Standalone forms (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */ STANDALONE_FORMS = "STANDALONE_FORMS", /** Standalone events (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */ STANDALONE_EVENTS = "STANDALONE_EVENTS", /** MIMIR - Siteless account for MIMIR Ai Job runner. */ MIMIR = "MIMIR", /** Wix Twins platform. */ TWINS = "TWINS", /** Wix Nano. */ NANO = "NANO", /** Base44 headless sites. */ BASE44 = "BASE44", /** Wix Channels Sites */ CHANNELS = "CHANNELS", /** Nautilus platform. */ NAUTILUS = "NAUTILUS", /** * Symphony — a siteless site representing a project within Symphony (the evolution of Orion). * Holds project data, conversations, assets, and manages collaborators / shared team members for the project. */ SYMPHONY = "SYMPHONY", /** Nautilus platform app. */ NAUTILUS_APPS = "NAUTILUS_APPS", /** * Vibu — a siteless site representing a project built with Vibu (the AI app builder). * Holds the project's generated code, conversations, assets, and manages collaborators for the project. */ VIBU = "VIBU", /** * Ghost site for the BrandKit multi-site platform. Each ghost backs a single BrandKit * (an Enterprise account may have several), holding that BrandKit's brand definition * (theme, typography, assets) which is rolled out to the BrandKit's connected sites. * MetaSites with this namespace will *not* be shown in a user's site list by default. */ ENTERPRISE_BRAND_KIT = "ENTERPRISE_BRAND_KIT", /** * Dev-center development sites (com.wixpress.devcenter.dsm). * DEPRECATED: replaced by Flag.DEV_CENTER_DEV_SITE_FLAG (a dev site is orthogonal to the namespace). Do not use for new sites. */ DEV_CENTER_DEV_SITE = "DEV_CENTER_DEV_SITE" } /** @enumType */ type NamespaceWithLiterals = Namespace | 'UNKNOWN_NAMESPACE' | 'WIX' | 'SHOUT_OUT' | 'ALBUMS' | 'WIX_STORES_TEST_DRIVE' | 'HOTELS' | 'CLUBS' | 'ONBOARDING_DRAFT' | 'DEV_SITE' | 'LOGOS' | 'VIDEO_MAKER' | 'PARTNER_DASHBOARD' | 'DEV_CENTER_COMPANY' | 'HTML_DRAFT' | 'SITELESS_BUSINESS' | 'CREATOR_ECONOMY' | 'DASHBOARD_FIRST' | 'ANYWHERE' | 'HEADLESS' | 'ACCOUNT_MASTER_CMS' | 'RISE' | 'BRANDED_FIRST' | 'NOWNIA' | 'UGC_TEMPLATE' | 'CODUX' | 'MEDIA_DESIGN_CREATOR' | 'SHARED_BLOG_ENTERPRISE' | 'STANDALONE_FORMS' | 'STANDALONE_EVENTS' | 'MIMIR' | 'TWINS' | 'NANO' | 'BASE44' | 'CHANNELS' | 'NAUTILUS' | 'SYMPHONY' | 'NAUTILUS_APPS' | 'VIBU' | 'ENTERPRISE_BRAND_KIT' | 'DEV_CENTER_DEV_SITE'; /** Site transferred to another user. */ interface SiteTransferred { /** * A previous owner id (user that transfers meta site). * @format GUID */ oldOwnerId?: string; /** * A new owner id (user that accepts meta site). * @format GUID */ newOwnerId?: string; } /** Soft deletion of the meta site. Could be restored. */ interface SiteDeleted { /** A deletion context. */ deleteContext?: DeleteContext; } interface DeleteContext { /** When the meta site was deleted. */ dateDeleted?: Date | null; /** A status. */ deleteStatus?: DeleteStatusWithLiterals; /** * A reason (flow). * @maxLength 255 */ deleteOrigin?: string; /** * A service that deleted it. * @maxLength 255 */ initiatorId?: string | null; } declare enum DeleteStatus { UNKNOWN = "UNKNOWN", TRASH = "TRASH", DELETED = "DELETED", PENDING_PURGE = "PENDING_PURGE", PURGED_EXTERNALLY = "PURGED_EXTERNALLY" } /** @enumType */ type DeleteStatusWithLiterals = DeleteStatus | 'UNKNOWN' | 'TRASH' | 'DELETED' | 'PENDING_PURGE' | 'PURGED_EXTERNALLY'; /** Restoration of the meta site. */ interface SiteUndeleted { } /** First publish of a meta site. Or subsequent publish after unpublish. */ interface SitePublished { } interface SiteUnpublished { /** * A list of URLs previously associated with the meta site. * @maxLength 4000 * @maxSize 10000 */ urls?: string[]; } interface SiteMarkedAsTemplate { } interface SiteMarkedAsWixSite { } /** * Represents a service provisioned a site. * * Note on `origin_instance_id`: * There is no guarantee that you will be able to find a meta site using `origin_instance_id`. * This is because of the following scenario: * * Imagine you have a template where a third-party application (TPA) includes some stub data, * such as a product catalog. When you create a site from this template, you inherit this * default product catalog. However, if the template's product catalog is modified, * your site will retain the catalog as it was at the time of site creation. This ensures that * your site remains consistent with what you initially received and does not include any * changes made to the original template afterward. * To ensure this, the TPA on the template gets a new instance_id. */ interface ServiceProvisioned { /** * Either UUID or EmbeddedServiceType. * @maxLength 36 */ appDefId?: string; /** * Not only UUID. Something here could be something weird. * @maxLength 36 */ instanceId?: string; /** * An instance id from which this instance is originated. * @maxLength 36 */ originInstanceId?: string; /** * A version. * @maxLength 500 */ version?: string | null; /** * The origin meta site id * @format GUID */ originMetaSiteId?: string | null; } interface ServiceRemoved { /** * Either UUID or EmbeddedServiceType. * @maxLength 36 */ appDefId?: string; /** * Not only UUID. Something here could be something weird. * @maxLength 36 */ instanceId?: string; /** * A version. * @maxLength 500 */ version?: string | null; } /** Rename of the site. Meaning, free public url has been changed as well. */ interface SiteRenamed { /** * A new meta site name (URL slug). * @maxLength 20 */ newSiteName?: string; /** * A previous meta site name (URL slug). * @maxLength 255 */ oldSiteName?: string; } /** * Hard deletion of the meta site. * * Could not be restored. Therefore it's desirable to cleanup data. */ interface SiteHardDeleted { /** A deletion context. */ deleteContext?: DeleteContext; } interface NamespaceChanged { /** A previous namespace. */ oldNamespace?: NamespaceWithLiterals; /** A new namespace. */ newNamespace?: NamespaceWithLiterals; } /** Assigned Studio editor */ interface StudioAssigned { } /** Unassigned Studio editor */ interface StudioUnassigned { } /** * Fired in case site URLs were changed in any way: new secondary domain, published, account slug rename, site rename etc. * * This is an internal event, it's not propagated in special events, because it's non-actionable. If you need to keep up * with sites and its urls, you need to listen to another topic/event. Read about it: * * https://bo.wix.com/wix-docs/rest/meta-site/meta-site---urls-service */ interface SiteUrlChanged { } /** * Used at the end of the deletion flow for both draft sites and when a user deletes a site. * Consumed by other teams to remove relevant data. */ interface SitePurgedExternally { /** * @maxLength 2048 * @maxSize 100 * @deprecated * @targetRemovalDate 2025-04-15 */ appDefId?: string[]; } /** Assigned Odeditor */ interface OdeditorAssigned { } /** Unassigned Odeditor */ interface OdeditorUnassigned { } /** Assigned Picasso editor */ interface PicassoAssigned { } /** Unassigned Picasso */ interface PicassoUnassigned { } /** Assigned Wixel */ interface WixelAssigned { } /** Unassigned Wixel */ interface WixelUnassigned { } /** Assigned StudioTwo */ interface StudioTwoAssigned { } /** Unassigned StudioTwo */ interface StudioTwoUnassigned { } /** Media from user domain is enabled. */ interface UserDomainMediaEnabled { } /** Media from user domain is disabled. */ interface UserDomainMediaDisabled { } /** Assigned Editorless */ interface EditorlessAssigned { } /** Unassigned Editorless */ interface EditorlessUnassigned { } interface Empty { } /** @docsIgnore */ type UpdateMemberRoleDefinitionApplicationErrors = { code?: 'CANNOT_UPDATE_SYSTEM_ROLE'; description?: string; data?: Record; }; /** @docsIgnore */ type DeleteMemberRoleDefinitionApplicationErrors = { code?: 'CANNOT_DELETE_SYSTEM_ROLE'; description?: string; data?: Record; }; /** * Creates a new role definition. * * A role must be defined before it can be assigned to members using * [Assign Role](https://dev.wix.com/docs/rest/crm/members-contacts/members/role-v1/assign-role). * The `roleKey` must be unique across the site. * @param roleKey - Unique key that identifies the role. Must be uppercase (e.g. `"WRITER"`). * @public * @documentationMaturity preview * @requiredField options.roleTitle * @requiredField roleKey * @permissionId MEMBERS.ROLES_MANAGE * @applicableIdentity APP * @fqn com.wixpress.members.memberroles.MemberRoleDefinitions.CreateMemberRoleDefinition */ declare function createMemberRoleDefinition(roleKey: string, options?: NonNullablePaths): Promise>; interface CreateMemberRoleDefinitionOptions { /** Display name of the role shown to site members. */ roleTitle: string; /** When `true`, the role cannot be assigned to blocked members. */ blockable?: boolean; } /** * Lists all role definitions for the site. * * Returns both system-defined roles and custom roles created via * [Create Member Role Definition](https://dev.wix.com/docs/rest/crm/members-contacts/members/member-role-definition-v1/create-member-role-definition). * @public * @documentationMaturity preview * @permissionId MEMBERS.ROLES_MANAGE * @applicableIdentity APP * @fqn com.wixpress.members.memberroles.MemberRoleDefinitions.ListMemberRoleDefinitions */ declare function listMemberRoleDefinitions(): Promise>; /** * Retrieves a role definition by its role key. * * To retrieve all role definitions for the site, use * [List Member Role Definitions](https://dev.wix.com/docs/rest/crm/members-contacts/members/member-role-definition-v1/list-member-role-definitions). * @param roleKey - Key of the role definition to retrieve. * @public * @documentationMaturity preview * @requiredField roleKey * @permissionId MEMBERS.ROLES_MANAGE * @applicableIdentity APP * @fqn com.wixpress.members.memberroles.MemberRoleDefinitions.GetMemberRoleDefinition */ declare function getMemberRoleDefinition(roleKey: string): Promise>; /** * Updates a role definition. * * Only the `blockable` field can be updated. * Pass the current `revision` value to prevent conflicting concurrent updates. * The `revision` is incremented on each successful update. * System roles cannot be updated. * @param key - Key of the role definition to update. * @public * @documentationMaturity preview * @requiredField key * @requiredField options.revision * @permissionId MEMBERS.ROLES_MANAGE * @applicableIdentity APP * @fqn com.wixpress.members.memberroles.MemberRoleDefinitions.UpdateMemberRoleDefinition */ declare function updateMemberRoleDefinition(key: string, options?: NonNullablePaths): Promise & { __applicationErrorsType?: UpdateMemberRoleDefinitionApplicationErrors; }>; interface UpdateMemberRoleDefinitionOptions { /** Whether the role can be assigned to blocked members. */ blockable?: boolean; /** Current revision number. Prevents conflicting concurrent updates. */ revision: string | null; } /** * Deletes a role definition. * * Once deleted, the role can no longer be assigned to members. * Members who currently have the role retain it until it is explicitly unassigned. * System roles cannot be deleted. * @param roleKey - Key of the role definition to delete. * @public * @documentationMaturity preview * @requiredField roleKey * @permissionId MEMBERS.ROLES_MANAGE * @applicableIdentity APP * @fqn com.wixpress.members.memberroles.MemberRoleDefinitions.DeleteMemberRoleDefinition */ declare function deleteMemberRoleDefinition(roleKey: string): Promise; export { type Asset, type CreateMemberRoleDefinitionOptions, type CreateMemberRoleDefinitionRequest, type CreateMemberRoleDefinitionResponse, type DeleteContext, type DeleteMemberRoleDefinitionApplicationErrors, type DeleteMemberRoleDefinitionRequest, type DeleteMemberRoleDefinitionResponse, DeleteStatus, type DeleteStatusWithLiterals, type EditorlessAssigned, type EditorlessUnassigned, type Empty, type GetMemberRoleDefinitionRequest, type GetMemberRoleDefinitionResponse, type ListMemberRoleDefinitionsRequest, type ListMemberRoleDefinitionsResponse, type MemberRoleDefinition, type MetaSiteSpecialEvent, type MetaSiteSpecialEventPayloadOneOf, Namespace, type NamespaceChanged, type NamespaceWithLiterals, type OdeditorAssigned, type OdeditorUnassigned, type PicassoAssigned, type PicassoUnassigned, type ServiceProvisioned, type ServiceRemoved, type SiteCreated, SiteCreatedContext, type SiteCreatedContextWithLiterals, type SiteDeleted, type SiteHardDeleted, type SiteMarkedAsTemplate, type SiteMarkedAsWixSite, type SitePublished, type SitePurgedExternally, type SiteRenamed, type SiteTransferred, type SiteUndeleted, type SiteUnpublished, type SiteUrlChanged, State, type StateWithLiterals, type StudioAssigned, type StudioTwoAssigned, type StudioTwoUnassigned, type StudioUnassigned, type SyncMetaSiteRolesRequest, type SyncMetaSiteRolesResponse, type UpdateMemberRoleDefinitionApplicationErrors, type UpdateMemberRoleDefinitionOptions, type UpdateMemberRoleDefinitionRequest, type UpdateMemberRoleDefinitionResponse, type UserDomainMediaDisabled, type UserDomainMediaEnabled, type WixelAssigned, type WixelUnassigned, createMemberRoleDefinition, deleteMemberRoleDefinition, getMemberRoleDefinition, listMemberRoleDefinitions, updateMemberRoleDefinition };