import { NonNullablePaths } from '@wix/sdk-types'; /** * An SEO pattern is a template of SEO tags defined for one page type, such as every blog * post or every store product. A pattern's tags may contain variables, written as * `{{variable}}`, that are filled in with each item's own values when its page renders, * so a Wix user sets the tags for a whole page type once instead of item by item. * * Every page type always has a pattern in effect. When a site has no pattern of its own * for a page type, the built-in Wix default applies, and `source` reports which of the * two is in effect. * * A change to a pattern reaches the live site without a site publish, and applies to * every page of that type that has no SEO tags set for the item itself. */ interface SeoPattern { /** * SEO pattern ID, in the format `{pageType}`. * * For a pattern that applies to a single page built from a Wix Data collection, the * format is `{pageType}:{pageId}`. * @readonly * @maxLength 400 */ _id?: string | null; /** * Page type the pattern applies to. A known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @maxLength 100 * @readonly */ pageType?: string; /** * ID of a single page built from a Wix Data collection, when the pattern applies to * that page alone rather than to the whole page type. * * Supported only for the `WIX_DATA_PAGE_ITEM` page type. * @maxLength 200 */ pageId?: string | null; /** * The site's own pattern for the page type, which takes precedence over the Wix * default. * * Empty when the site has no pattern of its own, in which case `defaultPattern` * applies. */ pattern?: SeoPatternBlob; /** * The pattern Wix provides for the page type, which applies whenever the site has no * pattern of its own. * * Always returned, so you can see what a reset would restore. * @readonly */ defaultPattern?: SeoPatternBlob; /** * Which pattern is in effect for the page type: the site's own, or the Wix default. * @readonly */ source?: PatternSourceWithLiterals; /** * Language the pattern applies to, as an IETF BCP 47 language tag. For example, * `en-US` for U.S. English. * * A page type has a single pattern, so this reports the site's primary language. * @maxLength 100 * @readonly */ language?: string | null; /** * What made the most recent change to the pattern, for example a Wix user or the site * migration flow. Derived from the caller, not from the request. * * Reported only on the response to a write, and on the event the write emits. It isn't * stored with the pattern, so Get SEO Pattern and List SEO Patterns always report * `ORIGIN_UNSPECIFIED`, as does a write by a caller Wix doesn't identify as a specific * origin. * @readonly */ origin?: OriginWithLiterals; } /** * A set of SEO tag templates. * * Each tag has the same structure as a rendered SEO tag, except that its values may * contain `{{variable}}` placeholders, which are replaced with an item's own values when * its page renders. */ interface SeoPatternBlob { /** * The pattern's SEO tag templates. * * A tag may reference only the variables the page type offers. Call [List SEO Pattern * Variables](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/list-seo-pattern-variables) * for the page type to retrieve them. * * A tag whose `disabled` or `custom` value is itself a variable is returned with that * value unset, because those fields are booleans. The behavior still applies when the * page renders. * @maxSize 100 */ tags?: Tag[]; } interface Tag { /** * SEO tag type. * * * Supported values: `title`, `meta`, `script`, `link`. * * Which of these an API actually accepts depends on where the tag is being set: this * list is not a blanket guarantee across every API that reuses this message. Site SEO * Tags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects * `title`/`script`/`link` with a validation error even though they appear here — * check the field description of the specific `tags`-typed field you're writing to * for the types it actually supports and the error it returns. * * Limitation: `title` and `script` (e.g. a `script` tag with `props.type` * `"application/ld+json"` carrying structured data) are supported only when * `custom` is unset or `false`. Setting `custom: true` on a `title` or `script` * tag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the * write through the site's Advanced/Custom Tags list. To write structured data, * omit `custom` (or set it to `false`). */ type?: string; /** * A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value. * For example: `{"name": "description", "content": "the description itself"}`. */ props?: Record | null; /** SEO tag metadata. For example, `{"height": 300, "width": 240}`. */ meta?: Record | null; /** SEO tag inner content. For example, ` inner content `. */ children?: string; /** * Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) — * i.e. an entry from the site's Advanced/Custom Tags list. * * Setting this to `true` on a write restricts which `type` values are accepted * — the same restriction the Advanced/Custom Tags UI enforces. `title` and * `script` tags (including JSON-LD structured data) must be sent with `custom` * omitted or `false`; sending them with `custom: true` is rejected with * `TAG_TYPE_NOT_ALLOWED`. * * Note this is a separate restriction from Site SEO Tags' own type restriction on * `SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g. * for site-wide structured data) unconditionally. There is currently no way to set * site-wide, every-page structured data through any of these APIs — write a per-page * `script` tag through the Item SEO Tags API instead. * * This flag is scoped to that feature only. It is NOT an indicator of whether a standard tag * (`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed * default/pattern — standard tags always resolve with `custom: false`, even when their content comes * from a page's manually saved SEO title/description override. Don't use this field to verify whether * a live page reflects a manual per-page SEO edit. * * Limitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read * only from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor * or Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the * response entirely — there, `false` means this API could not tell, not that no custom tag exists. * Pass `seoData` explicitly to resolve against a known set of tags. */ custom?: boolean; /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */ disabled?: boolean; } /** Which pattern is in effect for a page type. */ declare enum PatternSource { /** Unknown source. */ PATTERN_SOURCE_UNSPECIFIED = "PATTERN_SOURCE_UNSPECIFIED", /** The site has a pattern of its own for the page type, returned in `pattern`. */ PATTERN_SOURCE_USER = "PATTERN_SOURCE_USER", /** * The site has no pattern of its own for the page type, so the Wix default in * `defaultPattern` applies. */ PATTERN_SOURCE_DEFAULT = "PATTERN_SOURCE_DEFAULT" } /** @enumType */ type PatternSourceWithLiterals = PatternSource | 'PATTERN_SOURCE_UNSPECIFIED' | 'PATTERN_SOURCE_USER' | 'PATTERN_SOURCE_DEFAULT'; /** * What made a change to a site's SEO tags or patterns. Derived from the caller, not from * the request. */ declare enum Origin { /** * Unknown origin. Returned by read methods, because origin isn't stored alongside the * data it describes. */ ORIGIN_UNSPECIFIED = "ORIGIN_UNSPECIFIED", /** A user, working in the dashboard or editor, or calling the API on their own behalf. */ ORIGIN_USER = "ORIGIN_USER", /** The flow that imports an existing site into Wix. */ ORIGIN_MIGRATION = "ORIGIN_MIGRATION", /** An AI agent or an automated suggestion flow. */ ORIGIN_AI = "ORIGIN_AI" } /** @enumType */ type OriginWithLiterals = Origin | 'ORIGIN_UNSPECIFIED' | 'ORIGIN_USER' | 'ORIGIN_MIGRATION' | 'ORIGIN_AI'; interface GetSeoPatternRequest { /** * Page type whose pattern to retrieve. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @maxLength 100 */ pageType: string; /** * ID of a single page built from a Wix Data collection, to retrieve the pattern of that * page alone. * * Supported only for the `WIX_DATA_PAGE_ITEM` page type. * @maxLength 200 */ pageId?: string | null; } interface GetSeoPatternResponse { /** * The page type's pattern: the site's own pattern, the Wix default, and which of the * two is in effect. */ seoPattern?: SeoPattern; } interface ListSeoPatternsRequest { } interface ListSeoPatternsResponse { /** * The patterns stored for the site, one per page type. * * A page type that has never had a pattern stored isn't included. A page type that was * reset to its Wix default is included, with an empty `pattern`. * @maxSize 200 */ seoPatterns?: SeoPattern[]; } interface ListSeoPatternVariablesRequest { /** * Page type whose variables to retrieve. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @maxLength 100 */ pageType: string; } interface ListSeoPatternVariablesResponse { /** * Variables a pattern for this page type may use in its tags. For example, * `{{product.name}}` in a title template. * * A variable can appear more than once, with different `userVisible` values, when both * the site and the page type offer it. Either entry can be used in a pattern. * @maxSize 500 */ variables?: SeoPatternVariable[]; /** * Variables a pattern for this page type may use in its structured data tags. * * A pattern may use these as well as the variables in `variables`. * @maxSize 500 */ structuredDataVariables?: SeoPatternVariable[]; } /** * A variable a pattern may reference, which is replaced with an item's own value when its * page renders. */ interface SeoPatternVariable { /** * Name of the variable, without the surrounding braces. For example, `product.name`, * which a pattern references as `{{product.name}}`. * @maxLength 200 */ key?: string; /** * Whether the variable appears in the list shown to Wix users editing the pattern in the * dashboard. * * `false` doesn't prevent a pattern from using the variable. It marks a variable that's * kept out of the dashboard's list, typically because it's only meaningful in certain * cases. */ userVisible?: boolean; } interface CreateSeoPatternRequest { /** * Page type to create a pattern for. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @maxLength 100 */ pageType: string; /** * Pattern to create for the page type. * * `pattern` is the only field to send. The page type comes from the request path, and * every other field is read-only. To create a pattern for a single page built from a * Wix Data collection, set `pageId`. */ seoPattern: SeoPattern; } interface CreateSeoPatternResponse { /** * The created pattern, with `source` reporting that the site's own pattern is now in * effect. */ seoPattern?: SeoPattern; } interface SetSeoPatternRequest { /** * Page type whose pattern to change. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @maxLength 100 */ pageType: string; /** * Pattern to set for the page type. * * `pattern` is the only writable field, and setting it replaces the page type's tag * templates in full. Sending an empty pattern clears it, which returns the page type to * its Wix default. */ seoPattern: SeoPattern; /** * Fields to update. * * Supported properties: `pattern` * * Over REST, send the mask as a comma-separated string, for example * `"fieldMask": "pattern"`. The JavaScript SDK takes an array of strings * instead, for example `fieldMask: ["pattern"]`. */ fieldMask: string[]; /** * ID of a single page built from a Wix Data collection, to change the pattern of that * page alone. * * Supported only for the `WIX_DATA_PAGE_ITEM` page type. * @maxLength 200 */ pageId?: string | null; } interface SetSeoPatternResponse { /** The updated pattern. */ seoPattern?: SeoPattern; } interface ResetSeoPatternToDefaultRequest { /** * Page type whose pattern to reset. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @maxLength 100 */ pageType: string; /** * ID of a single page built from a Wix Data collection, to reset the pattern of that * page alone. * * Supported only for the `WIX_DATA_PAGE_ITEM` page type. * @maxLength 200 */ pageId?: string | null; } interface ResetSeoPatternToDefaultResponse { /** * The page type after the reset: an empty `pattern`, and `source` of * `PATTERN_SOURCE_DEFAULT`. */ seoPattern?: SeoPattern; } 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; } /** @docsIgnore */ type GetSeoPatternApplicationErrors = { code?: 'UNSUPPORTED_PAGE_TYPE'; description?: string; data?: Record; } | { code?: 'PAGE_TYPE_NOT_ON_SITE'; description?: string; data?: Record; } | { code?: 'PAGE_ID_NOT_SUPPORTED'; description?: string; data?: Record; } | { code?: 'COLLECTION_NAME_NOT_SUPPORTED'; description?: string; data?: Record; }; /** @docsIgnore */ type ListSeoPatternVariablesApplicationErrors = { code?: 'UNSUPPORTED_PAGE_TYPE'; description?: string; data?: Record; } | { code?: 'PAGE_TYPE_NOT_ON_SITE'; description?: string; data?: Record; }; /** @docsIgnore */ type CreateSeoPatternApplicationErrors = { code?: 'UNSUPPORTED_PAGE_TYPE'; description?: string; data?: Record; } | { code?: 'INVALID_PATTERN'; description?: string; data?: Record; } | { code?: 'PATTERN_ALREADY_EXISTS'; description?: string; data?: Record; } | { code?: 'PAGE_TYPE_NOT_ON_SITE'; description?: string; data?: Record; } | { code?: 'PAGE_ID_NOT_SUPPORTED'; description?: string; data?: Record; }; /** @docsIgnore */ type SetSeoPatternApplicationErrors = { code?: 'UNSUPPORTED_PAGE_TYPE'; description?: string; data?: Record; } | { code?: 'INVALID_PATTERN'; description?: string; data?: Record; } | { code?: 'INVALID_FIELD_MASK'; description?: string; data?: Record; } | { code?: 'PATTERN_NOT_FOUND'; description?: string; data?: Record; } | { code?: 'PAGE_ID_NOT_SUPPORTED'; description?: string; data?: Record; } | { code?: 'COLLECTION_NAME_NOT_SUPPORTED'; description?: string; data?: Record; }; /** @docsIgnore */ type ResetSeoPatternToDefaultApplicationErrors = { code?: 'UNSUPPORTED_PAGE_TYPE'; description?: string; data?: Record; } | { code?: 'PATTERN_NOT_FOUND'; description?: string; data?: Record; } | { code?: 'PAGE_ID_NOT_SUPPORTED'; description?: string; data?: Record; } | { code?: 'COLLECTION_NAME_NOT_SUPPORTED'; description?: string; data?: Record; }; /** * Retrieves the SEO pattern in effect for a page type. * * The response contains the site's own pattern in `pattern`, and the pattern Wix * provides in `defaultPattern`. `source` reports which of the two is in effect. * `pattern` is empty when the site has no pattern of its own. * @param pageType - Page type whose pattern to retrieve. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @public * @documentationMaturity preview * @requiredField pageType * @permissionId promote:seo:v1:seo_pattern:get_seo_pattern * @applicableIdentity APP * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.GetSeoPattern */ declare function getSeoPattern(pageType: string, options?: GetSeoPatternOptions): Promise & { __applicationErrorsType?: GetSeoPatternApplicationErrors; }>; interface GetSeoPatternOptions { /** * ID of a single page built from a Wix Data collection, to retrieve the pattern of that * page alone. * * Supported only for the `WIX_DATA_PAGE_ITEM` page type. * @maxLength 200 */ pageId?: string | null; } /** * Retrieves the patterns stored for a site, one per page type. * * Only returns page types that have had a pattern of the site's own stored, so a page * type that has never had one is absent. A page type that was reset to its default remains in the * list, with an empty `pattern` and `source` of `PATTERN_SOURCE_DEFAULT`. * @public * @documentationMaturity preview * @permissionId promote:seo:v1:seo_pattern:list_seo_patterns * @applicableIdentity APP * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ListSeoPatterns */ declare function listSeoPatterns(): Promise>; /** * Retrieves the variables a pattern for a page type may reference. * * Call this method to retrieve the valid variables for a page type before writing a * pattern. * * Variables for the page's own tags and variables for its structured data are returned * in separate fields, and a pattern may use either. * @param pageType - Page type whose variables to retrieve. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @public * @documentationMaturity preview * @requiredField pageType * @permissionId promote:seo:v1:seo_pattern:list_seo_pattern_variables * @applicableIdentity APP * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ListSeoPatternVariables */ declare function listSeoPatternVariables(pageType: string): Promise & { __applicationErrorsType?: ListSeoPatternVariablesApplicationErrors; }>; /** * Creates a pattern for a page type that's still on its Wix default. * * The pattern must contain at least one tag. To leave a page type on its Wix default, * create nothing for it. * * To change a pattern that already exists, call [Set SEO * Pattern](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/set-seo-pattern). * @param pageType - Page type to create a pattern for. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @param seoPattern - Pattern to create for the page type. * * `pattern` is the only field to send. The page type comes from the request path, and * every other field is read-only. To create a pattern for a single page built from a * Wix Data collection, set `pageId`. * @public * @documentationMaturity preview * @requiredField pageType * @requiredField seoPattern * @permissionId promote:seo:v1:seo_pattern:create_seo_pattern * @applicableIdentity APP * @returns The created pattern, with `source` reporting that the site's own pattern is now in * effect. * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.CreateSeoPattern */ declare function createSeoPattern(pageType: string, seoPattern: SeoPattern): Promise & { __applicationErrorsType?: CreateSeoPatternApplicationErrors; }>; /** * Changes the pattern a site has for a page type. * * Setting `pattern` replaces the page type's tag templates in full, so retrieve the * pattern first and send back the complete set you want it to have. Sending an empty * pattern clears it, which returns the page type to its Wix default. * * This method changes a pattern that already exists rather than creating one. For a page * type still on its Wix default, call [Create SEO * Pattern](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/create-seo-pattern) * instead. * * A pattern has no revision, and the site's SEO settings in the dashboard write to the * same pattern. The last write wins, so retrieve the pattern immediately before writing * it. * @param pageType - Page type whose pattern to change. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @param seoPattern - Pattern to set for the page type. * * `pattern` is the only writable field, and setting it replaces the page type's tag * templates in full. Sending an empty pattern clears it, which returns the page type to * its Wix default. * @public * @documentationMaturity preview * @requiredField options.fieldMask * @requiredField pageType * @requiredField seoPattern * @permissionId promote:seo:v1:seo_pattern:set_seo_pattern * @applicableIdentity APP * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.SetSeoPattern */ declare function setSeoPattern(pageType: string, seoPattern: SeoPattern, options?: NonNullablePaths): Promise & { __applicationErrorsType?: SetSeoPatternApplicationErrors; }>; interface SetSeoPatternOptions { /** * Fields to update. * * Supported properties: `pattern` * * Over REST, send the mask as a comma-separated string, for example * `"fieldMask": "pattern"`. The JavaScript SDK takes an array of strings * instead, for example `fieldMask: ["pattern"]`. */ fieldMask: string[]; /** * ID of a single page built from a Wix Data collection, to change the pattern of that * page alone. * * Supported only for the `WIX_DATA_PAGE_ITEM` page type. * @maxLength 200 */ pageId?: string | null; } /** * Removes the pattern a site has for a page type, so the Wix default applies again. * * The response reports the page type after the reset, with an empty `pattern` and * `source` of `PATTERN_SOURCE_DEFAULT`. * @param pageType - Page type whose pattern to reset. Send a known page type name, such as * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`. * * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. * * See the list of [common page * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types). * @public * @documentationMaturity preview * @requiredField pageType * @permissionId promote:seo:v1:seo_pattern:reset_seo_pattern_to_default * @applicableIdentity APP * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ResetSeoPatternToDefault */ declare function resetSeoPatternToDefault(pageType: string, options?: ResetSeoPatternToDefaultOptions): Promise & { __applicationErrorsType?: ResetSeoPatternToDefaultApplicationErrors; }>; interface ResetSeoPatternToDefaultOptions { /** * ID of a single page built from a Wix Data collection, to reset the pattern of that * page alone. * * Supported only for the `WIX_DATA_PAGE_ITEM` page type. * @maxLength 200 */ pageId?: string | null; } export { type AccountInfo, type ActionEvent, type CreateSeoPatternApplicationErrors, type CreateSeoPatternRequest, type CreateSeoPatternResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type GetSeoPatternApplicationErrors, type GetSeoPatternOptions, type GetSeoPatternRequest, type GetSeoPatternResponse, type IdentificationData, type IdentificationDataIdOneOf, type ListSeoPatternVariablesApplicationErrors, type ListSeoPatternVariablesRequest, type ListSeoPatternVariablesResponse, type ListSeoPatternsRequest, type ListSeoPatternsResponse, type MessageEnvelope, Origin, type OriginWithLiterals, PatternSource, type PatternSourceWithLiterals, type ResetSeoPatternToDefaultApplicationErrors, type ResetSeoPatternToDefaultOptions, type ResetSeoPatternToDefaultRequest, type ResetSeoPatternToDefaultResponse, type RestoreInfo, type SeoPattern, type SeoPatternBlob, type SeoPatternVariable, type SetSeoPatternApplicationErrors, type SetSeoPatternOptions, type SetSeoPatternRequest, type SetSeoPatternResponse, type Tag, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, createSeoPattern, getSeoPattern, listSeoPatternVariables, listSeoPatterns, resetSeoPatternToDefault, setSeoPattern };