import * as _wix_sdk_types from '@wix/sdk-types'; import { QuerySpec, Query, NonNullablePaths } from '@wix/sdk-types'; interface V2Locale { /** * Locale ID. * * The locale ID is made up of the language and region codes supported by Wix. For example, `"en-US"` for U.S. English. * @maxLength 20 * @format LANGUAGE_TAG * @readonly * @immutable */ _id?: string | null; /** * Revision number, which increments by 1 each time the locale is updated. To prevent conflicting changes, the existing revision must be passed when updating the locale object. * @readonly */ revision?: string | null; /** * Date and time the locale was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the locale was last updated. * @readonly */ _updatedDate?: Date | null; /** * Language code. For example, `"en"` for English. * @immutable * @format LANGUAGE */ languageCode?: string | null; /** * Region code. For example, `"UK"` for United Kingdom. * @immutable * @format COUNTRY */ regionCode?: string | null; /** Locale visibility status. */ visibility?: LocaleVisibilityWithLiterals; /** * Whether the locale is the site's primary locale. * @readonly */ primaryLocale?: boolean | null; /** * Whether the locale is the site's visitor primary locale. * @readonly */ visitorPrimaryLocale?: boolean | null; /** * Flag icon as a 3-letter language code based on Wix's supported locales. For example, `"USA"` for the United States flag icon. * @maxLength 3 */ flag?: string | null; /** * Regional format for determining how to display data types such as dates, times, numbers, and currencies. For example, `"en-US"` to format dates like this: `MM-DD-YYYY`. * @format LANGUAGE_TAG */ regionalFormat?: string | null; /** * Default URL structure for the locale's live site URL, * based on the locale's settings, unless overridden. * @readonly */ effectiveUrlStructure?: UrlStructureWithLiterals; /** Optional override for the locale's default URL structure. */ urlStructureOverride?: UrlStructureOverride; /** * Language code based on Wix's supported locales, used to specify the target language when * translatable content is sent for machine translation. For example, `"ES"` for Spanish * or `"ZH_TW"` for Traditional Chinese. * * Default: The locale's `languageCode` value. * @format LANGUAGE_TAG */ machineTranslationCode?: string | null; /** * The locale's `displayName`, unless overridden. * @readonly * @maxLength 30 */ effectiveDisplayName?: string | null; /** * Default display name for the locale, inferred from the locale ID and region code. * @readonly * @maxLength 30 */ displayName?: string | null; /** * Optional override for the locale's display name. * @maxLength 30 */ overrideDisplayName?: string | null; } /** Enum representing the visibility status of a locale. */ declare enum LocaleVisibility { /** Locale is hidden from site visitors. A site's locale should be hidden when a translation is not ready to be exposed to visitors. */ HIDDEN = "HIDDEN", /** Locale is visible to site visitors. A site can only have up to 100 visible locales. */ VISIBLE = "VISIBLE" } /** @enumType */ type LocaleVisibilityWithLiterals = LocaleVisibility | 'HIDDEN' | 'VISIBLE'; /** Enum representing the method for resolving locales in URLs. */ declare enum UrlStructure { /** URL structure as a subdirectory. For example, `"www.mysite.com/fr"`. */ SUBDIRECTORY = "SUBDIRECTORY", /** URL structure as a subdomain. For example, `"fr.mysite.com"`. */ SUBDOMAIN = "SUBDOMAIN", /** URL structure as a query parameter. For example, `"www.mysite.com?lang=fr"`. */ QUERY_PARAM = "QUERY_PARAM" } /** @enumType */ type UrlStructureWithLiterals = UrlStructure | 'SUBDIRECTORY' | 'SUBDOMAIN' | 'QUERY_PARAM'; /** Message for overriding the default resolution method. */ interface UrlStructureOverride { /** URL structure to use instead of the default. */ urlStructure?: UrlStructureWithLiterals; } /** Payload for the change main locale action. */ interface CreateNewPrimaryLocalePayload { /** The new primary locale after the Create New Primary Locale endpoint is finished. */ primaryLocale?: V2Locale; } interface RawCreateLocaleRequest { /** Locale to create. */ locale?: V2Locale; /** override the user primary locale value */ userPrimary?: boolean | null; /** override the visitor primary locale value */ visitorPrimary?: boolean | null; } interface RawCreateLocaleResponse { /** created locale */ locale?: V2Locale; } interface ChangeMainLocaleRequest { /** the new main locale */ locale?: V2Locale; } interface ChangeMainLocaleResponse { /** the new main locale */ locale?: V2Locale; } interface ForceDeleteLocaleRequest { /** * The ID of the locale to retrieve. * @maxLength 20 */ localeId?: string; } interface ForceDeleteLocaleResponse { } 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; /** 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; } /** Request message for listing supported locales */ interface ListSupportedLocalesRequest { /** * Language to filter by. For example, `"en"` for all English locales. * @format LANGUAGE */ languageCode?: string | null; /** Whether to include all possible regional variants for each language code in the response. When `false`, only the default locale, such as `"en-US"`, is returned and regional variants like `"en-GB"` and `"en-AU"` are excluded. */ includeAllLocales?: boolean | null; /** Whether to include region-specific options such as flags and regional codes for each locale in the response. */ includeRegionOptions?: boolean | null; } /** Response message for listing supported locales */ interface ListSupportedLocalesResponse { /** A list of all the locales that can be added to a site. */ supportedLocales?: SupportedLocale[]; } /** Represents a supported locale in the Wix platform */ interface SupportedLocale { /** @format LANGUAGE_TAG */ _id?: string | null; /** * Language code. * @format LANGUAGE */ languageCode?: string | null; /** * Region code. * @format COUNTRY */ regionCode?: string | null; /** * Default flag code for the locale. * @maxLength 3 */ defaultFlag?: string | null; /** * Default format for how to display data types such as dates, times, numbers, and currencies. * @format LANGUAGE_TAG */ defaultRegionalFormat?: string | null; /** * Language code used when content is sent for machine translation. * @format LANGUAGE_TAG */ machineTranslationCode?: string | null; /** * Display name of the locale. * @maxLength 30 */ displayName?: string | null; /** * All flags and their regional formats per locale. * @maxSize 100 */ regionOptions?: RegionOptions[]; } /** Represents variations of a locale with different flags and regional formats */ interface RegionOptions { /** * Flag code of the region. * @maxLength 3 */ flag?: string | null; /** * Format for how to display data types such as dates, times, numbers, and currencies. * @format LANGUAGE_TAG */ regionalFormat?: string | null; } interface InvalidateCache extends InvalidateCacheGetByOneOf { /** * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! * @format GUID */ metaSiteId?: string; /** * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! * @format GUID */ siteId?: string; /** Invalidate by App */ app?: App; /** Invalidate by page id */ page?: Page; /** Invalidate by URI path */ uri?: URI; /** Invalidate by file (for media files such as PDFs) */ file?: File; /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */ customTag?: CustomTag; /** Invalidate by multiple page ids */ pages?: Pages; /** Invalidate by multiple URI paths */ uris?: URIs; /** * tell us why you're invalidating the cache. You don't need to add your app name * @maxLength 256 */ reason?: string | null; /** Is local DS */ localDc?: boolean; hardPurge?: boolean; /** * Optional caller-provided ID for tracking this invalidation through the system. * When set, the corresponding CDN purge completion event will include this ID, * allowing you to confirm when the invalidation has fully propagated. * Example: generate a UUID, pass it here, and later match it in the CDN purge completion event. * @maxLength 256 */ correlationId?: string | null; } /** @oneof */ interface InvalidateCacheGetByOneOf { /** * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! * @format GUID */ metaSiteId?: string; /** * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! * @format GUID */ siteId?: string; /** Invalidate by App */ app?: App; /** Invalidate by page id */ page?: Page; /** Invalidate by URI path */ uri?: URI; /** Invalidate by file (for media files such as PDFs) */ file?: File; /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */ customTag?: CustomTag; /** Invalidate by multiple page ids */ pages?: Pages; /** Invalidate by multiple URI paths */ uris?: URIs; } interface App { /** * The AppDefId * @minLength 1 */ appDefId?: string; /** * The instance Id * @format GUID */ instanceId?: string; } interface Page { /** * the msid the page is on * @format GUID */ metaSiteId?: string; /** * Invalidate by Page ID * @minLength 1 */ pageId?: string; } interface URI { /** * the msid the URI is on * @format GUID */ metaSiteId?: string; /** * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes * @minLength 1 */ uriPath?: string; } interface File { /** * the msid the file is related to * @format GUID */ metaSiteId?: string; /** * Invalidate by filename (for media files such as PDFs) * @minLength 1 * @maxLength 256 */ fileName?: string; } interface CustomTag { /** * the msid the tag is related to * @format GUID */ metaSiteId?: string; /** * Tag to invalidate by * @minLength 1 * @maxLength 256 */ tag?: string; } interface Pages { /** * the msid the pages are on * @format GUID */ metaSiteId?: string; /** * Invalidate by multiple Page IDs in a single message * @maxSize 100 * @minLength 1 */ pageIds?: string[]; } interface URIs { /** * the msid the URIs are on * @format GUID */ metaSiteId?: string; /** * URI paths to invalidate (e.g. page/my/path) - without leading/trailing slashes * @maxSize 100 * @minLength 1 */ uriPaths?: string[]; } /** Request message for creating a new Locale. */ interface CreateLocaleRequest { /** Locale to create. */ locale: V2Locale; } /** Response message for creating a new Locale. */ interface CreateLocaleResponse { /** The created locale. */ locale?: V2Locale; } /** Request message for retrieving a Locale by ID. */ interface GetLocaleRequest { /** * ID of the locale to retrieve. * @maxLength 20 * @format LANGUAGE_TAG */ localeId: string; } /** Response message for retrieving a Locale. */ interface GetLocaleResponse { /** The requested locale. */ locale?: V2Locale; } /** Request message for updating a Locale. */ interface UpdateLocaleRequest { /** Locale to update, may be partial. */ locale: V2Locale; } /** Response message for updating a Locale. */ interface UpdateLocaleResponse { /** The updated locale. */ locale?: V2Locale; } /** Request message for deleting a Locale. */ interface DeleteLocaleRequest { /** * ID of the locale to delete. * @maxLength 20 * @format LANGUAGE_TAG */ localeId: string; } /** Response message for deleting a Locale. */ interface DeleteLocaleResponse { } /** Request message for querying Locales. */ interface QueryLocalesRequest { /** Query options. */ query?: CursorQuery; } interface CursorQuery extends CursorQueryPagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; /** * 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?: Record | null; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` * @maxSize 5 */ sort?: Sorting[]; } /** @oneof */ interface CursorQueryPagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } 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 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; } /** Response message for querying Locales. */ interface QueryLocalesResponse { /** Retrieved locales. */ locales?: V2Locale[]; /** Paging metadata. */ pagingMetadata?: CursorPagingMetadata; } /** This is the preferred message for cursor-paging enabled services */ 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; } /** Request message for bulk creating Locales. */ interface BulkCreateLocalesRequest { /** * Locales to create. * @minSize 1 * @maxSize 100 */ locales: V2Locale[]; /** Whether to receive the created locales in the response. */ returnEntity?: boolean; } /** Response message for bulk creating Locales. */ interface BulkCreateLocalesResponse { /** * Information about the created locales. * @minSize 1 * @maxSize 100 */ results?: BulkLocaleResult[]; /** Bulk metadata. */ bulkActionMetadata?: BulkActionMetadata; } interface ItemMetadata { /** * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). * @format GUID */ _id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface BulkLocaleResult { /** Item metadata. */ itemMetadata?: ItemMetadata; /** Created locale. Returned when `returnEntity` is set to `true`. */ item?: V2Locale; } interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } /** Request message for bulk updating Locales. */ interface BulkUpdateLocalesRequest { /** * Locales to update. * @minSize 1 * @maxSize 100 */ locales: MaskedLocale[]; /** Whether to receive the updated locales in the response. */ returnEntity?: boolean; } interface MaskedLocale { /** Locales to update, may be partial. */ locale?: V2Locale; } /** Response message for bulk updating Locales. */ interface BulkUpdateLocalesResponse { /** * Information about the updated locales. * @minSize 1 * @maxSize 100 */ results?: BulkUpdateLocalesResponseBulkLocaleResult[]; /** Bulk metadata. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkUpdateLocalesResponseBulkLocaleResult { /** Item metadata. */ itemMetadata?: ItemMetadata; /** Updated locale. Returned when `returnEntity` is set to `true`. */ item?: V2Locale; } /** Request message for bulk deleting Locales. */ interface BulkDeleteLocalesRequest { /** * IDs of locales to delete. * @minSize 1 * @maxSize 100 * @maxLength 20 * @format LANGUAGE_TAG */ localeIds: string[]; } /** Response message for bulk deleting Locales. */ interface BulkDeleteLocalesResponse { /** * Information about the deleted locales. * @minSize 1 * @maxSize 100 */ results?: BulkDeleteLocalesResponseBulkLocaleResult[]; /** Bulk metadata. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkDeleteLocalesResponseBulkLocaleResult { /** Item metadata. */ itemMetadata?: ItemMetadata; } /** Request message for changing the main locale. */ interface CreateNewPrimaryLocaleRequest { /** New primary locale. */ primaryLocale: V2Locale; } /** Response message for changing the main locale. */ interface CreateNewPrimaryLocaleResponse { /** @format GUID */ token?: string; } /** Request message for getting the status of the change main locale process. */ interface GetNewPrimaryLocaleStatusRequest { /** * Token to retrieve the process status. Returned in the response of Create New Primary Locale. * @format GUID */ token: string; } /** Response message for getting the status of the change main locale process. */ interface GetNewPrimaryLocaleStatusResponse extends GetNewPrimaryLocaleStatusResponseDataOneOf { /** New primary locale data when the process successfully completes. */ finishSuccessfulData?: FinishSuccessfulData; /** Error details when the process fails. */ finishWithErrorData?: FinishWithErrorData; /** The current status of the Create New Primary Locale method. */ status?: StatusWithLiterals; } /** @oneof */ interface GetNewPrimaryLocaleStatusResponseDataOneOf { /** New primary locale data when the process successfully completes. */ finishSuccessfulData?: FinishSuccessfulData; /** Error details when the process fails. */ finishWithErrorData?: FinishWithErrorData; } declare enum Status { /** Indicates the process of creating a new primary locale is in progress. */ IN_PROGRESS = "IN_PROGRESS", /** Indicates the process of creating a new primary locale was successful and all content under the previous primary locale is now tagged under the new locale. New primary locale data is available in the `finishSuccessfulData` object. */ FINISH_SUCCESSFUL = "FINISH_SUCCESSFUL", /** Indicates the process of creating a new primary locale failed. Additional error details are available in the `finishWithErrorData` object. */ FINISH_WITH_ERROR = "FINISH_WITH_ERROR" } /** @enumType */ type StatusWithLiterals = Status | 'IN_PROGRESS' | 'FINISH_SUCCESSFUL' | 'FINISH_WITH_ERROR'; interface FinishSuccessfulData { /** The new primary locale. */ newPrimaryLocale?: V2Locale; } interface FinishWithErrorData { /** Error details. */ error?: ApplicationError; } /** Request message for setting a visitor primary locale. */ interface SetVisitorPrimaryLocaleRequest { /** * ID of the locale to set as visitor primary. * @format LANGUAGE_TAG */ localeId: string; } /** Response message for setting a visitor primary locale. */ interface SetVisitorPrimaryLocaleResponse { /** Updated locale that is now set as the visitor primary locale. */ locale?: V2Locale; } 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. */ 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" } /** @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'; /** 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 { } /** Encapsulates all changes when site properties are updated */ interface SitePropertiesUpdated { /** ID of the Wix site that has been updated. */ metasiteId?: string; /** Update details. */ event?: SitePropertiesEvent; } /** The actual update event for a particular notification. */ interface SitePropertiesEvent { /** Version of the site's properties represented by this update. */ version?: number; /** Set of properties that were updated - corresponds to the fields in "properties". */ fields?: string[]; /** Updated properties. */ properties?: Properties; } interface Properties { /** Site categories. */ categories?: Categories; /** Site locale. */ locale?: Locale; /** * Site language. * * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */ language?: string | null; /** * Site currency format used to bill customers. * * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */ paymentCurrency?: string | null; /** Timezone in `America/New_York` format. */ timeZone?: string | null; /** Email address. */ email?: string | null; /** Phone number. */ phone?: string | null; /** Fax number. */ fax?: string | null; /** Address. */ address?: Address; /** Site display name. */ siteDisplayName?: string | null; /** Business name. */ businessName?: string | null; /** Path to the site's logo in Wix Media (without Wix Media base URL). */ logo?: string | null; /** Site description. */ description?: string | null; /** * Business schedule. Regular and exceptional time periods when the business is open or the service is available. * * __Note:__ Not supported by Wix Bookings. */ businessSchedule?: BusinessSchedule; /** Supported languages of a site and the primary language. */ multilingual?: Multilingual; /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */ consentPolicy?: ConsentPolicy; /** * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`. * * Site business type. */ businessConfig?: string | null; /** External site URL that uses Wix as its headless business solution. */ externalSiteUrl?: string | null; /** Track clicks analytics. */ trackClicksAnalytics?: boolean; /** * Company ID issued to the business by local authorities. Appears on invoices and price quotes. * @maxLength 50 */ companyId?: string | null; } interface Categories { /** Primary site category. */ primary?: string; /** * Secondary site category. * @maxSize 50 */ secondary?: string[]; /** Business Term Id */ businessTermId?: string | null; } interface Locale { /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */ languageCode?: string; /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */ country?: string; } interface Address { /** Street name. */ street?: string; /** City name. */ city?: string; /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */ country?: string; /** State. */ state?: string; /** * Zip or postal code. * @maxLength 20 */ zip?: string; /** Extra information to be displayed in the address. */ hint?: AddressHint; /** Whether this address represents a physical location. */ isPhysical?: boolean; /** Google-formatted version of this address. */ googleFormattedAddress?: string; /** Street number. */ streetNumber?: string; /** Apartment number. */ apartmentNumber?: string; /** Geographic coordinates of location. */ coordinates?: GeoCoordinates; } /** * Extra information on displayed addresses. * This is used for display purposes. Used to add additional data about the address, such as "In the passage". * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string. */ interface AddressHint { /** Extra text displayed next to, or instead of, the actual address. */ text?: string; /** Where the extra text should be displayed. */ placement?: PlacementTypeWithLiterals; } /** Where the extra text should be displayed: before, after or instead of the actual address. */ declare enum PlacementType { BEFORE = "BEFORE", AFTER = "AFTER", REPLACE = "REPLACE" } /** @enumType */ type PlacementTypeWithLiterals = PlacementType | 'BEFORE' | 'AFTER' | 'REPLACE'; /** Geocoordinates for a particular address. */ interface GeoCoordinates { /** Latitude of the location. Must be between -90 and 90. */ latitude?: number; /** Longitude of the location. Must be between -180 and 180. */ longitude?: number; } /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */ interface BusinessSchedule { /** * Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. * @maxSize 100 */ periods?: TimePeriod[]; /** * Exceptions to the business's regular hours. The business can be open or closed during the exception. * @maxSize 100 */ specialHourPeriod?: SpecialHourPeriod[]; } /** Weekly recurring time periods when the business is regularly open or the service is available. */ interface TimePeriod { /** Day of the week the period starts on. */ openDay?: DayOfWeekWithLiterals; /** * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents * midnight at the end of the specified day. */ openTime?: string; /** Day of the week the period ends on. */ closeDay?: DayOfWeekWithLiterals; /** * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents * midnight at the end of the specified day. * * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`. */ closeTime?: string; } /** Enumerates the days of the week. */ declare enum DayOfWeek { MONDAY = "MONDAY", TUESDAY = "TUESDAY", WEDNESDAY = "WEDNESDAY", THURSDAY = "THURSDAY", FRIDAY = "FRIDAY", SATURDAY = "SATURDAY", SUNDAY = "SUNDAY" } /** @enumType */ type DayOfWeekWithLiterals = DayOfWeek | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'; /** Exception to the business's regular hours. The business can be open or closed during the exception. */ interface SpecialHourPeriod { /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */ startDate?: string; /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */ endDate?: string; /** * Whether the business is closed (or the service is not available) during the exception. * * Default: `true`. */ isClosed?: boolean; /** Additional info about the exception. For example, "We close earlier on New Year's Eve." */ comment?: string; } interface Multilingual { /** * Supported languages list. * @maxSize 200 */ supportedLanguages?: SupportedLanguage[]; /** Whether to redirect to user language. */ autoRedirect?: boolean; } interface SupportedLanguage { /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */ languageCode?: string; /** Locale. */ locale?: Locale; /** Whether the supported language is the primary language for the site. */ isPrimary?: boolean; /** Language icon. */ countryCode?: string; /** How the language will be resolved. For internal use. */ resolutionMethod?: ResolutionMethodWithLiterals; /** Whether the supported language is the primary language for site visitors. */ isVisitorPrimary?: boolean | null; } declare enum ResolutionMethod { QUERY_PARAM = "QUERY_PARAM", SUBDOMAIN = "SUBDOMAIN", SUBDIRECTORY = "SUBDIRECTORY" } /** @enumType */ type ResolutionMethodWithLiterals = ResolutionMethod | 'QUERY_PARAM' | 'SUBDOMAIN' | 'SUBDIRECTORY'; interface ConsentPolicy { /** Whether the site uses cookies that are essential to site operation. Always `true`. */ essential?: boolean | null; /** Whether the site uses cookies that affect site performance and other functional measurements. */ functional?: boolean | null; /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */ analytics?: boolean | null; /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */ advertising?: boolean | null; /** CCPA compliance flag. */ dataToThirdParty?: boolean | null; } interface DomainChangedEvent extends DomainChangedEventPayloadOneOf { /** WARNING: `registered` event payload is DEPRECATED */ registered?: Registered; /** WARNING: `registration_cancelled` event payload is DEPRECATED */ registrationCancelled?: RegistrationCancelled; connectedToSite?: ConnectedToSite; disconnectedFromSite?: DisconnectedFromSite; /** WARNING: `registration_extended` event payload is DEPRECATED */ registrationExtended?: RegistrationExtended; /** WARNING: `owner_changed` event payload is DEPRECATED */ ownerChanged?: OwnerChanged; /** WARNING: `privacy_changed` event payload is DEPRECATED */ privacyChanged?: PrivacyChanged; /** WARNING: `management_type_changed` event payload is DEPRECATED */ managementTypeChanged?: ManagementTypeChanged; /** WARNING: `billing_subscription_cancelled` event payload is DEPRECATED */ billingSubscriptionCancelled?: BillingSubscriptionCancelled; /** WARNING: `connection_verified` event payload is DEPRECATED */ connectionVerified?: ConnectionVerified; /** WARNING: `connection_lost` event payload is DEPRECATED */ connectionLost?: ConnectionLost; /** WARNING: `expiration_date_changed` event payload is DEPRECATED */ expirationDateChanged?: ExpirationDateChanged; propagationStarted?: PropagationStarted; verificationStarted?: VerificationStarted; contactVerificationStatusChanged?: ContactVerificationStatusChanged; /** Expiry/GraceStarted */ expired?: Expired; /** GraceEnded/RedemptionStarted */ graceEnded?: GraceEnded; /** RedemptionEnded */ redemptionEnded?: RedemptionEnded; /** enable or disable dnssec */ dnssecChanged?: DnssecChanged; /** domain SKU updated due to price increase */ priceIncreaseProcessed?: PriceIncreaseProcessed; domainName?: string; changeTime?: Date | null; } /** @oneof */ interface DomainChangedEventPayloadOneOf { /** WARNING: `registered` event payload is DEPRECATED */ registered?: Registered; /** WARNING: `registration_cancelled` event payload is DEPRECATED */ registrationCancelled?: RegistrationCancelled; connectedToSite?: ConnectedToSite; disconnectedFromSite?: DisconnectedFromSite; /** WARNING: `registration_extended` event payload is DEPRECATED */ registrationExtended?: RegistrationExtended; /** WARNING: `owner_changed` event payload is DEPRECATED */ ownerChanged?: OwnerChanged; /** WARNING: `privacy_changed` event payload is DEPRECATED */ privacyChanged?: PrivacyChanged; /** WARNING: `management_type_changed` event payload is DEPRECATED */ managementTypeChanged?: ManagementTypeChanged; /** WARNING: `billing_subscription_cancelled` event payload is DEPRECATED */ billingSubscriptionCancelled?: BillingSubscriptionCancelled; /** WARNING: `connection_verified` event payload is DEPRECATED */ connectionVerified?: ConnectionVerified; /** WARNING: `connection_lost` event payload is DEPRECATED */ connectionLost?: ConnectionLost; /** WARNING: `expiration_date_changed` event payload is DEPRECATED */ expirationDateChanged?: ExpirationDateChanged; propagationStarted?: PropagationStarted; verificationStarted?: VerificationStarted; contactVerificationStatusChanged?: ContactVerificationStatusChanged; /** Expiry/GraceStarted */ expired?: Expired; /** GraceEnded/RedemptionStarted */ graceEnded?: GraceEnded; /** RedemptionEnded */ redemptionEnded?: RedemptionEnded; /** enable or disable dnssec */ dnssecChanged?: DnssecChanged; /** domain SKU updated due to price increase */ priceIncreaseProcessed?: PriceIncreaseProcessed; } interface Registered { /** @format GUID */ registrationId?: string; } interface RegistrationCancelled { /** @format GUID */ registrationId?: string; } interface ConnectedToSite { /** @format GUID */ msid?: string; } interface DisconnectedFromSite { /** @format GUID */ msid?: string; } interface RegistrationExtended { /** @format GUID */ registrationId?: string; } interface OwnerChanged { /** @format GUID */ oldUserGuid?: string; /** @format GUID */ newUserGuid?: string; /** @format GUID */ oldRegistrationId?: string | null; /** @format GUID */ newRegistrationId?: string | null; } interface PrivacyChanged { /** @format GUID */ registrationId?: string; } interface ManagementTypeChanged { } interface BillingSubscriptionCancelled { /** @format GUID */ registrationId?: string; } interface ConnectionVerified { } interface ConnectionLost { } interface ExpirationDateChanged { /** @format GUID */ registrationId?: string; } interface PropagationStarted { /** @format GUID */ userGuid?: string; } interface VerificationStarted { /** @format GUID */ userGuid?: string; } interface ContactVerificationStatusChanged { status?: ContactVerificationStatusWithLiterals; } declare enum ContactVerificationStatus { PENDING = "PENDING", DEACTIVATED = "DEACTIVATED", CONFIRMED_BY_WIX = "CONFIRMED_BY_WIX", CONFIRMED_BY_REGDOTCOM = "CONFIRMED_BY_REGDOTCOM" } /** @enumType */ type ContactVerificationStatusWithLiterals = ContactVerificationStatus | 'PENDING' | 'DEACTIVATED' | 'CONFIRMED_BY_WIX' | 'CONFIRMED_BY_REGDOTCOM'; interface Expired { } interface GraceEnded { } interface RedemptionEnded { } interface DnssecChanged { /** * unique registration id * @format GUID */ registrationId?: string; } interface PriceIncreaseProcessed { } /** @docsIgnore */ type CreateNewPrimaryLocaleApplicationErrors = { code?: 'NEW_MAIN_LOCALE_EXIST_ON_SITE'; description?: string; data?: Record; }; /** @docsIgnore */ type SetVisitorPrimaryLocaleApplicationErrors = { code?: 'LOCALE_NOT_FOUND'; description?: string; data?: Record; }; interface BaseEventMetadata { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Details related to the account */ accountInfo?: AccountInfo; } 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; accountInfo?: AccountInfoMetadata; } interface AccountInfoMetadata { /** ID of the Wix account associated with the event */ accountId: string; /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */ siteId?: string; /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */ parentAccountId?: string; } interface LocaleCreatedEnvelope { entity: V2Locale; metadata: EventMetadata; } /** * Triggered when a secondary locale is created. * @permissionScope Wix Multilingual * @permissionScopeId SCOPE.MULTILINGUAL.MANAGE_TRANSLATIONS * @permissionId WIX_MULTILINGUAL.LOCALE_DOMAIN_EVENTS_READ * @webhook * @eventType wix.multilingual.locales.v2.locale_created * @slug created */ declare function onLocaleCreated(handler: (event: LocaleCreatedEnvelope) => void | Promise): void; interface LocaleDeletedEnvelope { entity: V2Locale; metadata: EventMetadata; } /** * Triggered when a locale is deleted. * @permissionScope Wix Multilingual * @permissionScopeId SCOPE.MULTILINGUAL.MANAGE_TRANSLATIONS * @permissionId WIX_MULTILINGUAL.LOCALE_DOMAIN_EVENTS_READ * @webhook * @eventType wix.multilingual.locales.v2.locale_deleted * @slug deleted */ declare function onLocaleDeleted(handler: (event: LocaleDeletedEnvelope) => void | Promise): void; interface LocaleMultilingualPrimaryLocaleChangedEnvelope { data: CreateNewPrimaryLocalePayload; metadata: EventMetadata; } /** * Triggered when a new primary locale is created. * @permissionScope Wix Multilingual * @permissionScopeId SCOPE.MULTILINGUAL.MANAGE_TRANSLATIONS * @permissionId WIX_MULTILINGUAL.LOCALE_DOMAIN_EVENTS_READ * @webhook * @eventType wix.multilingual.locales.v2.locale_multilingual_primary_locale_changed * @slug multilingual_primary_locale_changed */ declare function onLocaleMultilingualPrimaryLocaleChanged(handler: (event: LocaleMultilingualPrimaryLocaleChangedEnvelope) => void | Promise): void; interface LocaleUpdatedEnvelope { entity: V2Locale; metadata: EventMetadata; } /** * Triggered when a locale is updated. * @permissionScope Wix Multilingual * @permissionScopeId SCOPE.MULTILINGUAL.MANAGE_TRANSLATIONS * @permissionId WIX_MULTILINGUAL.LOCALE_DOMAIN_EVENTS_READ * @webhook * @eventType wix.multilingual.locales.v2.locale_updated * @slug updated */ declare function onLocaleUpdated(handler: (event: LocaleUpdatedEnvelope) => void | Promise): void; /** * Retrieves a list of all Wix-supported locales that can be added to a site. * * Call this method to display supported language details when creating or updating a locale. * @public * @permissionId WIX_MULTILINGUAL.READ_SUPPORTED_LOCALES * @applicableIdentity APP * @returns Response message for listing supported locales * @fqn wix.multilingual.locales.v2.SupportedLocalesService.ListSupportedLocales */ declare function listSupportedLocales(options?: ListSupportedLocalesOptions): Promise>; interface ListSupportedLocalesOptions { /** * Language to filter by. For example, `"en"` for all English locales. * @format LANGUAGE */ languageCode?: string | null; /** Whether to include all possible regional variants for each language code in the response. When `false`, only the default locale, such as `"en-US"`, is returned and regional variants like `"en-GB"` and `"en-AU"` are excluded. */ includeAllLocales?: boolean | null; /** Whether to include region-specific options such as flags and regional codes for each locale in the response. */ includeRegionOptions?: boolean | null; } /** * Creates a new secondary locale. * * This method adds a new secondary locale to the site. A site can have up to 200 locales and up to 100 visible locales. * * To retrieve a list of all locales supported by Wix that can be created on a site, call List Supported Locales. * *
* Important: * * - This method can only be called on sites where multilingual mode is enabled. * - This method creates only secondary locales. To create and set a new primary locale, call Create New Primary Locale. * *
* @param locale - Locale to create. * @public * @requiredField locale * @requiredField locale.languageCode * @permissionId WIX_MULTILINGUAL.LOCALE_CREATE * @applicableIdentity APP * @returns The created locale. * @fqn wix.multilingual.locales.v2.LocalesService.CreateLocale */ declare function createLocale(locale: NonNullablePaths): Promise>; /** * Retrieves a locale by ID. * @param localeId - ID of the locale to retrieve. * @public * @requiredField localeId * @permissionId WIX_MULTILINGUAL.LOCALE_READ * @applicableIdentity APP * @returns The requested locale. * @fqn wix.multilingual.locales.v2.LocalesService.GetLocale */ declare function getLocale(localeId: string): Promise>; /** * Updates a locale by ID. * @param _id - Locale ID. * * The locale ID is made up of the language and region codes supported by Wix. For example, `"en-US"` for U.S. English. * @public * @requiredField _id * @requiredField locale * @requiredField locale.revision * @permissionId WIX_MULTILINGUAL.LOCALE_UPDATE * @applicableIdentity APP * @returns The updated locale. * @fqn wix.multilingual.locales.v2.LocalesService.UpdateLocale */ declare function updateLocale(_id: string, locale: NonNullablePaths): Promise>; interface UpdateLocale { /** * Locale ID. * * The locale ID is made up of the language and region codes supported by Wix. For example, `"en-US"` for U.S. English. * @maxLength 20 * @format LANGUAGE_TAG * @readonly * @immutable */ _id?: string | null; /** * Revision number, which increments by 1 each time the locale is updated. To prevent conflicting changes, the existing revision must be passed when updating the locale object. * @readonly */ revision?: string | null; /** * Date and time the locale was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the locale was last updated. * @readonly */ _updatedDate?: Date | null; /** * Language code. For example, `"en"` for English. * @immutable * @format LANGUAGE */ languageCode?: string | null; /** * Region code. For example, `"UK"` for United Kingdom. * @immutable * @format COUNTRY */ regionCode?: string | null; /** Locale visibility status. */ visibility?: LocaleVisibilityWithLiterals; /** * Whether the locale is the site's primary locale. * @readonly */ primaryLocale?: boolean | null; /** * Whether the locale is the site's visitor primary locale. * @readonly */ visitorPrimaryLocale?: boolean | null; /** * Flag icon as a 3-letter language code based on Wix's supported locales. For example, `"USA"` for the United States flag icon. * @maxLength 3 */ flag?: string | null; /** * Regional format for determining how to display data types such as dates, times, numbers, and currencies. For example, `"en-US"` to format dates like this: `MM-DD-YYYY`. * @format LANGUAGE_TAG */ regionalFormat?: string | null; /** * Default URL structure for the locale's live site URL, * based on the locale's settings, unless overridden. * @readonly */ effectiveUrlStructure?: UrlStructureWithLiterals; /** Optional override for the locale's default URL structure. */ urlStructureOverride?: UrlStructureOverride; /** * Language code based on Wix's supported locales, used to specify the target language when * translatable content is sent for machine translation. For example, `"ES"` for Spanish * or `"ZH_TW"` for Traditional Chinese. * * Default: The locale's `languageCode` value. * @format LANGUAGE_TAG */ machineTranslationCode?: string | null; /** * The locale's `displayName`, unless overridden. * @readonly * @maxLength 30 */ effectiveDisplayName?: string | null; /** * Default display name for the locale, inferred from the locale ID and region code. * @readonly * @maxLength 30 */ displayName?: string | null; /** * Optional override for the locale's display name. * @maxLength 30 */ overrideDisplayName?: string | null; } /** * Deletes a locale by ID. * * This method removes only secondary locales from a site. You can't call this method to delete the primary locale or a locale that's set as the visitor primary locale. * *
* Warning: * * Deleting a locale permanently removes it and all its associated data from the site. * *
* *
* Tip: * * - To change the primary locale, call Create New Primary Locale. This method automatically deletes the original primary locale and transfers its data to the new primary locale. * - To delete a locale that's set as the visitor primary locale, first call Set Visitor Primary Locale to change the visitor primary locale, then call this method. * *
* @param localeId - ID of the locale to delete. * @public * @requiredField localeId * @permissionId WIX_MULTILINGUAL.LOCALE_DELETE * @applicableIdentity APP * @returns Response message for deleting a Locale. * @fqn wix.multilingual.locales.v2.LocalesService.DeleteLocale */ declare function deleteLocale(localeId: string): Promise; /** * Retrieves a list of the site's locales, given the provided paging, filtering, and sorting. Up to 200 locales can be returned per request. * * The default `sort` is `locale.id` in `ASC`. * * To learn how to query projects, see [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language). * @public * @permissionId WIX_MULTILINGUAL.LOCALE_READ * @applicableIdentity APP * @fqn wix.multilingual.locales.v2.LocalesService.QueryLocales */ declare function queryLocales(options?: QueryLocalesOptions): LocalesQueryBuilder; interface QueryLocalesOptions { } interface QueryCursorResult { cursors: Cursors; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } interface LocalesQueryResult extends QueryCursorResult { items: V2Locale[]; query: LocalesQueryBuilder; next: () => Promise; prev: () => Promise; } interface LocalesQueryBuilder { /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ eq: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'visibility' | 'primaryLocale' | 'flag' | 'regionalFormat' | 'effectiveUrlStructure', value: any) => LocalesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ ne: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'visibility' | 'primaryLocale' | 'flag' | 'regionalFormat' | 'effectiveUrlStructure', value: any) => LocalesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ ge: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'flag' | 'regionalFormat', value: any) => LocalesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ gt: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'flag' | 'regionalFormat', value: any) => LocalesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ le: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'flag' | 'regionalFormat', value: any) => LocalesQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ lt: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'flag' | 'regionalFormat', value: any) => LocalesQueryBuilder; /** @param propertyName - Property whose value is compared with `string`. * @param string - String to compare against. Case-insensitive. */ startsWith: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'flag' | 'regionalFormat', value: string) => LocalesQueryBuilder; /** @param propertyName - Property whose value is compared with `values`. * @param values - List of values to compare against. */ hasSome: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'visibility' | 'primaryLocale' | 'flag' | 'regionalFormat' | 'effectiveUrlStructure', value: any[]) => LocalesQueryBuilder; in: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'visibility' | 'primaryLocale' | 'flag' | 'regionalFormat' | 'effectiveUrlStructure', value: any) => LocalesQueryBuilder; exists: (propertyName: '_id' | 'languageCode' | 'regionCode' | 'visibility' | 'primaryLocale' | 'flag' | 'regionalFormat' | 'effectiveUrlStructure', value: boolean) => LocalesQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */ ascending: (...propertyNames: Array<'_id' | 'languageCode' | 'regionCode' | 'visibility' | 'primaryLocale' | 'flag' | 'regionalFormat' | 'effectiveUrlStructure'>) => LocalesQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */ descending: (...propertyNames: Array<'_id' | 'languageCode' | 'regionCode' | 'visibility' | 'primaryLocale' | 'flag' | 'regionalFormat' | 'effectiveUrlStructure'>) => LocalesQueryBuilder; /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */ limit: (limit: number) => LocalesQueryBuilder; /** @param cursor - A pointer to specific record */ skipTo: (cursor: string) => LocalesQueryBuilder; find: () => Promise; } /** * @hidden * @fqn wix.multilingual.locales.v2.LocalesService.QueryLocales * @requiredField query * @returns Response message for querying Locales. */ declare function typedQueryLocales(query: V2LocaleQuery, options?: QueryLocalesOptions): Promise>; interface V2LocaleQuerySpec extends QuerySpec { paging: 'cursor'; wql: [ { fields: [ '_id', 'effectiveUrlStructure', 'flag', 'languageCode', 'primaryLocale', 'regionCode', 'regionalFormat', 'visibility' ]; operators: '*'; sort: 'BOTH'; } ]; } type CommonQueryWithEntityContext = Query; type V2LocaleQuery = { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: { /** Maximum number of items to return in the results. @max: 100 */ limit?: NonNullable['limit'] | 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?: NonNullable['cursor'] | null; }; /** 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?: CommonQueryWithEntityContext['filter'] | null; /** Sort object in the following format: `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` @maxSize: 5 */ sort?: { /** Name of the field to sort by. @maxLength: 512 */ fieldName?: NonNullable[number]['fieldName']; /** Sort order. */ order?: NonNullable[number]['order']; }[]; }; declare const utils: { query: { QueryBuilder: () => _wix_sdk_types.QueryBuilder; Filter: _wix_sdk_types.FilterFactory; Sort: _wix_sdk_types.SortFactory; }; }; /** * Creates multiple secondary locales. * *
* Important: * * - This method can only be called on sites where multilingual mode is enabled. * *
* @param locales - Locales to create. * @public * @requiredField locales * @requiredField locales.languageCode * @permissionId WIX_MULTILINGUAL.LOCALE_CREATE * @applicableIdentity APP * @returns Response message for bulk creating Locales. * @fqn wix.multilingual.locales.v2.LocalesService.BulkCreateLocales */ declare function bulkCreateLocales(locales: NonNullablePaths[], options?: BulkCreateLocalesOptions): Promise>; interface BulkCreateLocalesOptions { /** Whether to receive the created locales in the response. */ returnEntity?: boolean; } /** * Updates multiple locales. * @param locales - Locales to update. * @public * @requiredField locales * @requiredField locales.locale._id * @requiredField locales.locale.revision * @permissionId WIX_MULTILINGUAL.LOCALE_UPDATE * @applicableIdentity APP * @returns Response message for bulk updating Locales. * @fqn wix.multilingual.locales.v2.LocalesService.BulkUpdateLocales */ declare function bulkUpdateLocales(locales: NonNullablePaths[], options?: BulkUpdateLocalesOptions): Promise>; interface BulkUpdateLocalesOptions { /** Whether to receive the updated locales in the response. */ returnEntity?: boolean; } /** * Deletes multiple locales. * * This method removes only secondary locals from a site. The primary locale can't be deleted. * *
* Warning: * * This method permanently deletes multiple secondary locales and their data from the site. *
* @param localeIds - IDs of locales to delete. * @public * @requiredField localeIds * @permissionId WIX_MULTILINGUAL.LOCALE_DELETE * @applicableIdentity APP * @returns Response message for bulk deleting Locales. * @fqn wix.multilingual.locales.v2.LocalesService.BulkDeleteLocales */ declare function bulkDeleteLocales(localeIds: string[]): Promise>; /** * Creates and assigns a new primary locale for a site. * * This method changes the site's primary locale. The process may take time, depending on the amount of content present on the site. When called, this method returns a token, which you can use with the Get New Primary Locale Status method to check the status of the primary locale change. * *
* Important: * * - The desired new primary locale can't already exist as a secondary locale on the site. If the locale is already a secondary locale on the site, you must first remove it from the site by calling Delete Locale before changing the primary locale. * - This method automatically deletes the original primary locale and transfers its data to the new primary locale. * *
* @param primaryLocale - New primary locale. * @public * @requiredField primaryLocale * @permissionId WIX_MULTILINGUAL.LOCALE_CHANGE_MAIN * @applicableIdentity APP * @returns Response message for changing the main locale. * @fqn wix.multilingual.locales.v2.LocalesService.CreateNewPrimaryLocale */ declare function createNewPrimaryLocale(primaryLocale: V2Locale): Promise & { __applicationErrorsType?: CreateNewPrimaryLocaleApplicationErrors; }>; /** * Retrieves the status of the Create New Primary Locale method. * * Call this method to see if your primary locale was successfully changed. Specify the token returned by Create New Primary Locale. If the token specified is invalid, a 404 error is returned. * @param token - Token to retrieve the process status. Returned in the response of Create New Primary Locale. * @public * @requiredField token * @permissionId WIX_MULTILINGUAL.LOCALE_CHANGE_MAIN * @applicableIdentity APP * @returns Response message for getting the status of the change main locale process. * @fqn wix.multilingual.locales.v2.LocalesService.GetNewPrimaryLocaleStatus */ declare function getNewPrimaryLocaleStatus(token: string): Promise>; /** * Sets a locale as the visitor primary locale for the site. * * Only one locale can be set as the visitor primary locale at a time. When you update the visitor primary locale, site visitors see the new default language on their next page load. * *
* Important: * * The specified locale's `visibility` must be set to `"VISIBLE"`. * *
* @param localeId - ID of the locale to set as visitor primary. * @public * @requiredField localeId * @permissionId WIX_MULTILINGUAL.LOCALE_SET_VISITOR_PRIMARY * @applicableIdentity APP * @returns Response message for setting a visitor primary locale. * @fqn wix.multilingual.locales.v2.LocalesService.SetVisitorPrimaryLocale */ declare function setVisitorPrimaryLocale(localeId: string): Promise & { __applicationErrorsType?: SetVisitorPrimaryLocaleApplicationErrors; }>; export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type Address, type AddressHint, type App, type ApplicationError, type Asset, type BaseEventMetadata, type BillingSubscriptionCancelled, type BulkActionMetadata, type BulkCreateLocalesOptions, type BulkCreateLocalesRequest, type BulkCreateLocalesResponse, type BulkDeleteLocalesRequest, type BulkDeleteLocalesResponse, type BulkDeleteLocalesResponseBulkLocaleResult, type BulkLocaleResult, type BulkUpdateLocalesOptions, type BulkUpdateLocalesRequest, type BulkUpdateLocalesResponse, type BulkUpdateLocalesResponseBulkLocaleResult, type BusinessSchedule, type Categories, type ChangeMainLocaleRequest, type ChangeMainLocaleResponse, type CommonQueryWithEntityContext, type ConnectedToSite, type ConnectionLost, type ConnectionVerified, type ConsentPolicy, ContactVerificationStatus, type ContactVerificationStatusChanged, type ContactVerificationStatusWithLiterals, type CreateLocaleRequest, type CreateLocaleResponse, type CreateNewPrimaryLocaleApplicationErrors, type CreateNewPrimaryLocalePayload, type CreateNewPrimaryLocaleRequest, type CreateNewPrimaryLocaleResponse, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type CustomTag, DayOfWeek, type DayOfWeekWithLiterals, type DeleteContext, type DeleteLocaleRequest, type DeleteLocaleResponse, DeleteStatus, type DeleteStatusWithLiterals, type DisconnectedFromSite, type DnssecChanged, type DomainChangedEvent, type DomainChangedEventPayloadOneOf, type DomainEvent, type DomainEventBodyOneOf, type EditorlessAssigned, type EditorlessUnassigned, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExpirationDateChanged, type Expired, type File, type FinishSuccessfulData, type FinishWithErrorData, type ForceDeleteLocaleRequest, type ForceDeleteLocaleResponse, type GeoCoordinates, type GetLocaleRequest, type GetLocaleResponse, type GetNewPrimaryLocaleStatusRequest, type GetNewPrimaryLocaleStatusResponse, type GetNewPrimaryLocaleStatusResponseDataOneOf, type GraceEnded, type IdentificationData, type IdentificationDataIdOneOf, type InvalidateCache, type InvalidateCacheGetByOneOf, type ItemMetadata, type ListSupportedLocalesOptions, type ListSupportedLocalesRequest, type ListSupportedLocalesResponse, type Locale, type LocaleCreatedEnvelope, type LocaleDeletedEnvelope, type LocaleMultilingualPrimaryLocaleChangedEnvelope, type LocaleUpdatedEnvelope, LocaleVisibility, type LocaleVisibilityWithLiterals, type LocalesQueryBuilder, type LocalesQueryResult, type ManagementTypeChanged, type MaskedLocale, type MessageEnvelope, type MetaSiteSpecialEvent, type MetaSiteSpecialEventPayloadOneOf, type Multilingual, Namespace, type NamespaceChanged, type NamespaceWithLiterals, type OdeditorAssigned, type OdeditorUnassigned, type OwnerChanged, type Page, type Pages, type PicassoAssigned, type PicassoUnassigned, PlacementType, type PlacementTypeWithLiterals, type PriceIncreaseProcessed, type PrivacyChanged, type PropagationStarted, type Properties, type QueryLocalesOptions, type QueryLocalesRequest, type QueryLocalesResponse, type RawCreateLocaleRequest, type RawCreateLocaleResponse, type RedemptionEnded, type RegionOptions, type Registered, type RegistrationCancelled, type RegistrationExtended, ResolutionMethod, type ResolutionMethodWithLiterals, type RestoreInfo, type ServiceProvisioned, type ServiceRemoved, type SetVisitorPrimaryLocaleApplicationErrors, type SetVisitorPrimaryLocaleRequest, type SetVisitorPrimaryLocaleResponse, type SiteCreated, SiteCreatedContext, type SiteCreatedContextWithLiterals, type SiteDeleted, type SiteHardDeleted, type SiteMarkedAsTemplate, type SiteMarkedAsWixSite, type SitePropertiesEvent, type SitePropertiesUpdated, type SitePublished, type SitePurgedExternally, type SiteRenamed, type SiteTransferred, type SiteUndeleted, type SiteUnpublished, type SiteUrlChanged, SortOrder, type SortOrderWithLiterals, type Sorting, type SpecialHourPeriod, State, type StateWithLiterals, Status, type StatusWithLiterals, type StudioAssigned, type StudioTwoAssigned, type StudioTwoUnassigned, type StudioUnassigned, type SupportedLanguage, type SupportedLocale, type TimePeriod, type URI, type URIs, type UpdateLocale, type UpdateLocaleRequest, type UpdateLocaleResponse, UrlStructure, type UrlStructureOverride, type UrlStructureWithLiterals, type UserDomainMediaDisabled, type UserDomainMediaEnabled, type V2Locale, type V2LocaleQuery, type V2LocaleQuerySpec, type VerificationStarted, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, type WixelAssigned, type WixelUnassigned, bulkCreateLocales, bulkDeleteLocales, bulkUpdateLocales, createLocale, createNewPrimaryLocale, deleteLocale, getLocale, getNewPrimaryLocaleStatus, listSupportedLocales, onLocaleCreated, onLocaleDeleted, onLocaleMultilingualPrimaryLocaleChanged, onLocaleUpdated, queryLocales, setVisitorPrimaryLocale, typedQueryLocales, updateLocale, utils };