import { NonNullablePaths } from '@wix/sdk-types'; /** Sitemap entry containing page information */ interface SitemapEntry { /** * Entity identifier (e.g., productId, pageId) * @minLength 1 * @maxLength 255 */ _id?: string; /** Indicates if the entry should be included in the generated sitemap. */ shouldBeIncludedInSitemap?: boolean; /** * Optional last modification date in ISO 8601 format * @maxLength 50 */ _updatedDate?: string; /** * Optional list of images * @maxSize 1000 */ images?: Image[]; /** * Optional list of video data * @maxSize 100 */ videos?: Video[]; } /** Image information for sitemap entries */ interface Image { /** * Image URL * @format WEB_URL * @maxLength 2048 * @minLength 1 */ url?: string; /** * Optional image alt text * @maxLength 2048 */ altText?: string; } /** Video information for sitemap entries */ interface Video { /** * Video content location URL * @format WEB_URL * @maxLength 2048 * @minLength 1 */ url?: string; /** * Video thumbnail location URL * @format WEB_URL * @maxLength 2048 * @minLength 1 */ thumbnailUrl?: string; /** * Optional video title * @maxLength 255 */ title?: string; /** * Optional video description * @maxLength 1000 */ description?: string; } /** Request message for getting sitemap pages */ interface ListSitemapPagesRequest { /** Item type identifier - must be a valid enum value */ itemType?: ItemTypeWithLiterals; /** Optional cursor for pagination */ paging?: CursorPaging; } /** * Enum representing different types of items that can have sitemap entries. * Covers dynamic, repeater-generated business-solution items only. A site's static/main pages * (classic Editor "Home", "About", "Contact", etc.) have no corresponding value here. */ declare enum ItemType { /** Stores products */ STORES_PRODUCT = "STORES_PRODUCT", /** Blog posts */ BLOG_POST = "BLOG_POST", /** Blog categories */ BLOG_CATEGORY = "BLOG_CATEGORY", /** Blog tags */ BLOG_TAGS = "BLOG_TAGS", /** Blog archives */ BLOG_ARCHIVE = "BLOG_ARCHIVE", /** Forum posts */ FORUM_POST = "FORUM_POST", /** Forum categories */ FORUM_CATEGORY = "FORUM_CATEGORY", /** Groups posts */ GROUPS_POST = "GROUPS_POST", /** Groups pages */ GROUPS_PAGE = "GROUPS_PAGE", /** Events pages */ EVENTS_PAGE = "EVENTS_PAGE", /** Bookings services */ BOOKINGS_SERVICE = "BOOKINGS_SERVICE", /** Members area profiles */ MEMBERS_AREA_PROFILE = "MEMBERS_AREA_PROFILE", /** Challenges/online programs pages */ CHALLENGES_PAGE = "CHALLENGES_PAGE", /** Store categories */ STORES_CATEGORY = "STORES_CATEGORY", /** Store sub-categories */ STORES_SUB_CATEGORY = "STORES_SUB_CATEGORY", /** Portfolio collections */ PORTFOLIO_COLLECTIONS = "PORTFOLIO_COLLECTIONS", /** Portfolio projects */ PORTFOLIO_PROJECTS = "PORTFOLIO_PROJECTS", /** Pricing plans */ PRICING_PLANS = "PRICING_PLANS", /** Restaurant menu pages */ RESTAURANTS_MENU_PAGE = "RESTAURANTS_MENU_PAGE" } /** @enumType */ type ItemTypeWithLiterals = ItemType | 'STORES_PRODUCT' | 'BLOG_POST' | 'BLOG_CATEGORY' | 'BLOG_TAGS' | 'BLOG_ARCHIVE' | 'FORUM_POST' | 'FORUM_CATEGORY' | 'GROUPS_POST' | 'GROUPS_PAGE' | 'EVENTS_PAGE' | 'BOOKINGS_SERVICE' | 'MEMBERS_AREA_PROFILE' | 'CHALLENGES_PAGE' | 'STORES_CATEGORY' | 'STORES_SUB_CATEGORY' | 'PORTFOLIO_COLLECTIONS' | 'PORTFOLIO_PROJECTS' | 'PRICING_PLANS' | 'RESTAURANTS_MENU_PAGE'; interface CursorPaging { /** * Maximum number of items to return in the results. * @max 200 */ 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 getting sitemap pages */ interface ListSitemapPagesResponse { /** List of sitemap entries */ pages?: SitemapEntry[]; /** Paging metadata for next page of results */ pagingMetadata?: PagingMetadataV2; } interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; } 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 getting static sitemap pages */ interface ListStaticSitemapPagesRequest { /** Optional cursor for pagination */ paging?: CursorPaging; } /** Response message for getting sitemap pages */ interface ListStaticSitemapPagesResponse { /** List of sitemap entries */ pages?: SitemapEntry[]; /** Paging metadata for next page of results */ pagingMetadata?: PagingMetadataV2; } /** * Lists sitemap pages for a given item type with optional pagination. * `item_type` only covers dynamic, repeater-generated items (Stores products, Blog posts, * Bookings services, etc. - see ItemType). It does NOT cover a site's static/main pages * (e.g. classic Editor "Home", "About", "Contact" pages) - those aren't represented by any * ItemType value and are never returned here, even for a fully published site. An empty or * partial `pages` result for a given itemType is not a signal that the site's static pages * are missing or unpublished. * This method is intended for headless sites, which fetch these entries to build and serve * their own sitemap.xml. Classic Editor/Studio sites don't need it - Wix generates and serves * their sitemap.xml for them. Note that the method does not detect or reject a site's editor * type; it reads the site's live Site Structure either way. So it is not a way to distinguish * headless from classic sites, and it is not the right tool for diagnosing a classic site's * auto-generated sitemap - inspect the sitemap XML served on that site's own domain instead. * * Returns NOT_FOUND when the site is not indexable or is not published. * @public * @permissionId WIX.SEO_SITEMAP_ENTRIES_READ * @applicableIdentity APP * @returns Response message for getting sitemap pages * @fqn wix.promote.seo.headless.sitemap.service.v1.SeoHeadlessSitemapService.ListSitemapPages */ declare function listSitemapPages(options?: ListSitemapPagesOptions): Promise>; interface ListSitemapPagesOptions { /** Item type identifier - must be a valid enum value */ itemType?: ItemTypeWithLiterals; /** Optional cursor for pagination */ paging?: CursorPaging; } export { type CursorPaging, type Cursors, type Image, ItemType, type ItemTypeWithLiterals, type ListSitemapPagesOptions, type ListSitemapPagesRequest, type ListSitemapPagesResponse, type ListStaticSitemapPagesRequest, type ListStaticSitemapPagesResponse, type PagingMetadataV2, type SitemapEntry, type Video, listSitemapPages };