@wix/auto_sdk_blog_posts 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/build/cjs/index.d.ts +1 -0
  2. package/build/cjs/index.js +18 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +1 -0
  5. package/build/cjs/index.typings.js +18 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +1 -0
  8. package/build/cjs/meta.js +18 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/src/blog-v3-post-posts.context.d.ts +37 -0
  11. package/build/cjs/src/blog-v3-post-posts.context.js +82 -0
  12. package/build/cjs/src/blog-v3-post-posts.context.js.map +1 -0
  13. package/build/cjs/src/blog-v3-post-posts.http.d.ts +61 -0
  14. package/build/cjs/src/blog-v3-post-posts.http.js +894 -0
  15. package/build/cjs/src/blog-v3-post-posts.http.js.map +1 -0
  16. package/build/cjs/src/blog-v3-post-posts.meta.d.ts +25 -0
  17. package/build/cjs/src/blog-v3-post-posts.meta.js +161 -0
  18. package/build/cjs/src/blog-v3-post-posts.meta.js.map +1 -0
  19. package/build/cjs/src/blog-v3-post-posts.public.d.ts +106 -0
  20. package/build/cjs/src/blog-v3-post-posts.public.js +320 -0
  21. package/build/cjs/src/blog-v3-post-posts.public.js.map +1 -0
  22. package/build/cjs/src/blog-v3-post-posts.types.d.ts +3231 -0
  23. package/build/cjs/src/blog-v3-post-posts.types.js +485 -0
  24. package/build/cjs/src/blog-v3-post-posts.types.js.map +1 -0
  25. package/build/{blog-v3-post-posts.universal-CEsWp0Fx.d.mts → cjs/src/blog-v3-post-posts.universal.d.ts} +494 -256
  26. package/build/cjs/src/blog-v3-post-posts.universal.js +962 -0
  27. package/build/cjs/src/blog-v3-post-posts.universal.js.map +1 -0
  28. package/build/es/index.d.ts +1 -0
  29. package/build/es/index.js +2 -0
  30. package/build/es/index.js.map +1 -0
  31. package/build/es/index.typings.d.ts +1 -0
  32. package/build/es/index.typings.js +2 -0
  33. package/build/es/index.typings.js.map +1 -0
  34. package/build/es/meta.d.ts +1 -0
  35. package/build/es/meta.js +2 -0
  36. package/build/es/meta.js.map +1 -0
  37. package/build/es/package.json +3 -0
  38. package/build/es/src/blog-v3-post-posts.context.d.ts +37 -0
  39. package/build/es/src/blog-v3-post-posts.context.js +37 -0
  40. package/build/es/src/blog-v3-post-posts.context.js.map +1 -0
  41. package/build/es/src/blog-v3-post-posts.http.d.ts +61 -0
  42. package/build/es/src/blog-v3-post-posts.http.js +884 -0
  43. package/build/es/src/blog-v3-post-posts.http.js.map +1 -0
  44. package/build/es/src/blog-v3-post-posts.meta.d.ts +25 -0
  45. package/build/es/src/blog-v3-post-posts.meta.js +128 -0
  46. package/build/es/src/blog-v3-post-posts.meta.js.map +1 -0
  47. package/build/es/src/blog-v3-post-posts.public.d.ts +106 -0
  48. package/build/es/src/blog-v3-post-posts.public.js +268 -0
  49. package/build/es/src/blog-v3-post-posts.public.js.map +1 -0
  50. package/build/es/src/blog-v3-post-posts.types.d.ts +3231 -0
  51. package/build/es/src/blog-v3-post-posts.types.js +482 -0
  52. package/build/es/src/blog-v3-post-posts.types.js.map +1 -0
  53. package/build/{blog-v3-post-posts.universal-CEsWp0Fx.d.ts → es/src/blog-v3-post-posts.universal.d.ts} +494 -256
  54. package/build/es/src/blog-v3-post-posts.universal.js +929 -0
  55. package/build/es/src/blog-v3-post-posts.universal.js.map +1 -0
  56. package/build/internal/cjs/index.d.ts +1 -0
  57. package/build/internal/cjs/index.js +18 -0
  58. package/build/internal/cjs/index.js.map +1 -0
  59. package/build/internal/cjs/index.typings.d.ts +1 -0
  60. package/build/internal/cjs/index.typings.js +18 -0
  61. package/build/internal/cjs/index.typings.js.map +1 -0
  62. package/build/internal/cjs/meta.d.ts +1 -0
  63. package/build/internal/cjs/meta.js +18 -0
  64. package/build/internal/cjs/meta.js.map +1 -0
  65. package/build/internal/cjs/src/blog-v3-post-posts.context.d.ts +37 -0
  66. package/build/internal/cjs/src/blog-v3-post-posts.context.js +82 -0
  67. package/build/internal/cjs/src/blog-v3-post-posts.context.js.map +1 -0
  68. package/build/internal/cjs/src/blog-v3-post-posts.http.d.ts +61 -0
  69. package/build/internal/cjs/src/blog-v3-post-posts.http.js +894 -0
  70. package/build/internal/cjs/src/blog-v3-post-posts.http.js.map +1 -0
  71. package/build/internal/cjs/src/blog-v3-post-posts.meta.d.ts +25 -0
  72. package/build/internal/cjs/src/blog-v3-post-posts.meta.js +161 -0
  73. package/build/internal/cjs/src/blog-v3-post-posts.meta.js.map +1 -0
  74. package/build/internal/cjs/src/blog-v3-post-posts.public.d.ts +106 -0
  75. package/build/internal/cjs/src/blog-v3-post-posts.public.js +320 -0
  76. package/build/internal/cjs/src/blog-v3-post-posts.public.js.map +1 -0
  77. package/build/internal/cjs/src/blog-v3-post-posts.types.d.ts +3231 -0
  78. package/build/internal/cjs/src/blog-v3-post-posts.types.js +485 -0
  79. package/build/internal/cjs/src/blog-v3-post-posts.types.js.map +1 -0
  80. package/build/internal/{blog-v3-post-posts.universal-nU7XoyIE.d.ts → cjs/src/blog-v3-post-posts.universal.d.ts} +494 -256
  81. package/build/internal/cjs/src/blog-v3-post-posts.universal.js +962 -0
  82. package/build/internal/cjs/src/blog-v3-post-posts.universal.js.map +1 -0
  83. package/build/internal/es/index.d.ts +1 -0
  84. package/build/internal/es/index.js +2 -0
  85. package/build/internal/es/index.js.map +1 -0
  86. package/build/internal/es/index.typings.d.ts +1 -0
  87. package/build/internal/es/index.typings.js +2 -0
  88. package/build/internal/es/index.typings.js.map +1 -0
  89. package/build/internal/es/meta.d.ts +1 -0
  90. package/build/internal/es/meta.js +2 -0
  91. package/build/internal/es/meta.js.map +1 -0
  92. package/build/internal/es/src/blog-v3-post-posts.context.d.ts +37 -0
  93. package/build/internal/es/src/blog-v3-post-posts.context.js +37 -0
  94. package/build/internal/es/src/blog-v3-post-posts.context.js.map +1 -0
  95. package/build/internal/es/src/blog-v3-post-posts.http.d.ts +61 -0
  96. package/build/internal/es/src/blog-v3-post-posts.http.js +884 -0
  97. package/build/internal/es/src/blog-v3-post-posts.http.js.map +1 -0
  98. package/build/internal/es/src/blog-v3-post-posts.meta.d.ts +25 -0
  99. package/build/internal/es/src/blog-v3-post-posts.meta.js +128 -0
  100. package/build/internal/es/src/blog-v3-post-posts.meta.js.map +1 -0
  101. package/build/internal/es/src/blog-v3-post-posts.public.d.ts +106 -0
  102. package/build/internal/es/src/blog-v3-post-posts.public.js +268 -0
  103. package/build/internal/es/src/blog-v3-post-posts.public.js.map +1 -0
  104. package/build/internal/es/src/blog-v3-post-posts.types.d.ts +3231 -0
  105. package/build/internal/es/src/blog-v3-post-posts.types.js +482 -0
  106. package/build/internal/es/src/blog-v3-post-posts.types.js.map +1 -0
  107. package/build/internal/{blog-v3-post-posts.universal-nU7XoyIE.d.mts → es/src/blog-v3-post-posts.universal.d.ts} +494 -256
  108. package/build/internal/es/src/blog-v3-post-posts.universal.js +929 -0
  109. package/build/internal/es/src/blog-v3-post-posts.universal.js.map +1 -0
  110. package/package.json +11 -12
  111. package/build/index.d.mts +0 -130
  112. package/build/index.d.ts +0 -130
  113. package/build/index.js +0 -1975
  114. package/build/index.js.map +0 -1
  115. package/build/index.mjs +0 -1899
  116. package/build/index.mjs.map +0 -1
  117. package/build/internal/index.d.mts +0 -130
  118. package/build/internal/index.d.ts +0 -130
  119. package/build/internal/index.js +0 -1975
  120. package/build/internal/index.js.map +0 -1
  121. package/build/internal/index.mjs +0 -1899
  122. package/build/internal/index.mjs.map +0 -1
  123. package/build/internal/meta.d.mts +0 -2094
  124. package/build/internal/meta.d.ts +0 -2094
  125. package/build/internal/meta.js +0 -1002
  126. package/build/internal/meta.js.map +0 -1
  127. package/build/internal/meta.mjs +0 -969
  128. package/build/internal/meta.mjs.map +0 -1
  129. package/build/meta.d.mts +0 -2094
  130. package/build/meta.d.ts +0 -2094
  131. package/build/meta.js +0 -1002
  132. package/build/meta.js.map +0 -1
  133. package/build/meta.mjs +0 -969
  134. package/build/meta.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../index.ts","../../src/blog-v3-post-posts.public.ts","../../src/blog-v3-post-posts.universal.ts","../../src/blog-v3-post-posts.http.ts","../../src/blog-v3-post-posts.context.ts"],"sourcesContent":["export * from './src/blog-v3-post-posts.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTBytesToSDKBytes } from '@wix/sdk-runtime/transformations/bytes';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTPageURLToSDKPageURL } from '@wix/sdk-runtime/transformations/page-url';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { transformRESTVideoToSDKVideo } from '@wix/sdk-runtime/transformations/video';\nimport { transformRESTVideoV2ToSDKVideoV2 } from '@wix/sdk-runtime/transformations/video-v2';\nimport { EventDefinition, HttpClient } from '@wix/sdk-types';\nimport {\n GetPostBySlugOptions,\n GetPostBySlugResponse,\n GetPostMetricsResponse,\n GetPostOptions,\n GetPostResponse,\n GetTotalPostsOptions,\n GetTotalPostsResponse,\n ListPostsOptions,\n ListPostsResponse,\n PostCreatedEnvelope,\n PostDeletedEnvelope,\n PostLikedEnvelope,\n PostUnlikedEnvelope,\n PostUpdatedEnvelope,\n PostsQueryBuilder,\n QueryPostCountStatsOptions,\n QueryPostCountStatsResponse,\n QueryPostsOptions,\n getPost as universalGetPost,\n getPostBySlug as universalGetPostBySlug,\n getPostMetrics as universalGetPostMetrics,\n getTotalPosts as universalGetTotalPosts,\n listPosts as universalListPosts,\n queryPostCountStats as universalQueryPostCountStats,\n queryPosts as universalQueryPosts,\n} from './blog-v3-post-posts.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/blog' };\n\nexport function queryPostCountStats(\n httpClient: HttpClient\n): QueryPostCountStatsSignature {\n return (options?: QueryPostCountStatsOptions) =>\n universalQueryPostCountStats(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryPostCountStatsSignature {\n /**\n * Retrieves the number of published posts per month within a specified time range.\n *\n *\n * The `queryPostCountStats()` function returns a Promise that resolves to the number of posts per month within the specified time range.\n *\n * You can set the time range using the `rangeStart` and `months` properties. The time range always starts on the 1st day of the month set in `rangeStart` and includes the number of `months` following `rangeStart`. For example, if `rangeStart` is set to `'2022-03-13'` and `months` is set to `4`, the time range will be from `'2022-03-01'` until `'2022-06-30'`. The time range ends on the last day of the month.\n *\n * >**Note:** If there are no published posts in a specific month, that month is not included in the response. For example, let's say a blog has `0` posts dated in February 2022. If `rangeStart` is set to `'2022-01-01'` and `months` is set to `3`, the response includes `postCount` values for January and March, but not February.\n * @param - Options specifying time frame, sort, and filter.\n * @returns Get Blog Post Count Stats response\n */\n (\n options?: QueryPostCountStatsOptions | undefined\n ): Promise<QueryPostCountStatsResponse>;\n}\n\nexport function getTotalPosts(httpClient: HttpClient): GetTotalPostsSignature {\n return (options?: GetTotalPostsOptions) =>\n universalGetTotalPosts(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetTotalPostsSignature {\n /**\n * Retrieves the total amount of published posts of the blog.\n * @param - Language Options.\n */\n (options?: GetTotalPostsOptions | undefined): Promise<GetTotalPostsResponse>;\n}\n\nexport function getPost(httpClient: HttpClient): GetPostSignature {\n return (postId: string, options?: GetPostOptions) =>\n universalGetPost(\n postId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPostSignature {\n /**\n * Retrieves a post by the specified ID.\n * @param - Post ID.\n * @param - Options specifying which fields to return.\n */\n (\n postId: string,\n options?: GetPostOptions | undefined\n ): Promise<GetPostResponse>;\n}\n\nexport function getPostBySlug(httpClient: HttpClient): GetPostBySlugSignature {\n return (slug: string, options?: GetPostBySlugOptions) =>\n universalGetPostBySlug(\n slug,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPostBySlugSignature {\n /**\n * Retrieves a post with the provided slug.\n *\n * The slug is the end of a post's URL that refers to a specific post.\n * For example, if a post's URL is `https:/example.com/blog/post/my-post-slug`,\n * the slug is `my-post-slug`. The slug is case-sensitive, and is generally derived from the post title,\n * unless specified otherwise.\n * @param - Slug of the post to retrieve.\n * @param - Options specifying which fields to return.\n */\n (\n slug: string,\n options?: GetPostBySlugOptions | undefined\n ): Promise<GetPostBySlugResponse>;\n}\n\nexport function listPosts(httpClient: HttpClient): ListPostsSignature {\n return (options?: ListPostsOptions) =>\n universalListPosts(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListPostsSignature {\n /**\n * Retrieves a list of up to 100 published posts per request.\n *\n * List Posts runs with these defaults, which you can override:\n * - `firstPublishedDate` is sorted in descending order, with pinned posts first.\n * - `paging.limit` is `50`.\n * - `paging.offset` is `0`.\n * @param - Sort, filter, and paging options.\n */\n (options?: ListPostsOptions | undefined): Promise<ListPostsResponse>;\n}\n\nexport function queryPosts(httpClient: HttpClient): QueryPostsSignature {\n return (options?: QueryPostsOptions) =>\n universalQueryPosts(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryPostsSignature {\n /**\n * Creates a query to retrieve a list of posts.\n *\n *\n * The `queryPosts()` function builds a query to retrieve a list of up to 100 posts, and returns a `PostsQueryBuilder` object.\n *\n * The returned object contains the query definition which is typically used to run the query using the `find()` function.\n *\n * You can refine the query by chaining `PostsQueryBuilder` functions onto the query. `PostsQueryBuilder` functions enable you to sort, filter, and control the results that `queryPosts()` returns.\n *\n * `queryPosts()` runs with these `PostsQueryBuilder` defaults that you can override:\n * + `limit(50)`\n * + `descending('firstPublishedDate')`\n *\n * Note that the default limit is `'50'`, but the max limit is `'100'`.\n *\n * To learn how to query posts, refer to the table below.\n *\n * The following `PostsQueryBuilder` functions are supported for the `queryPosts()` function. For a full description of the Posts object, see the object returned for the `items` property in `PostsQueryResult`.\n * @param - Options specifying which fields to return.\n */\n (options?: QueryPostsOptions | undefined): PostsQueryBuilder;\n}\n\nexport function getPostMetrics(\n httpClient: HttpClient\n): GetPostMetricsSignature {\n return (postId: string) =>\n universalGetPostMetrics(\n postId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPostMetricsSignature {\n /**\n * Retrieves a post's metrics.\n *\n * A post's metrics include the comments, likes, and views the post receives.\n * @param - Post ID to retrieve metrics for.\n */\n (postId: string): Promise<GetPostMetricsResponse>;\n}\n\nexport const onPostCreated = EventDefinition(\n 'wix.blog.v3.post_created',\n true,\n (event: PostCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.firstPublishedDate' },\n { path: 'entity.lastPublishedDate' },\n { path: 'entity.richContent.metadata.createdTimestamp' },\n { path: 'entity.richContent.metadata.updatedTimestamp' },\n { path: 'entity.moderationDetails.submittedDate' },\n { path: 'entity.moderationDetails.moderationDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLToSDKPageURL,\n paths: [{ path: 'entity.url' }, { path: 'entity.translations.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.heroImage' },\n { path: 'entity.coverMedia.image' },\n { path: 'entity.media.wixMedia.image' },\n ],\n },\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'entity.richContentCompressed' }],\n },\n {\n transformFn: transformRESTVideoToSDKVideo,\n paths: [{ path: 'entity.coverMedia.video' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'entity.metrics.averageRating' },\n {\n path: 'entity.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n { path: 'entity.richContent.nodes.galleryData.options.item.ratio' },\n { path: 'entity.richContent.nodes.imageData.image.duration' },\n { path: 'entity.richContent.nodes.mapData.mapSettings.lat' },\n { path: 'entity.richContent.nodes.mapData.mapSettings.lng' },\n { path: 'entity.richContent.nodes.pollData.poll.image.duration' },\n {\n path: 'entity.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n { path: 'entity.richContent.nodes.appEmbedData.image.duration' },\n { path: 'entity.richContent.nodes.videoData.video.duration' },\n { path: 'entity.richContent.nodes.videoData.thumbnail.duration' },\n { path: 'entity.richContent.nodes.audioData.audio.duration' },\n { path: 'entity.richContent.nodes.audioData.coverImage.duration' },\n ],\n },\n {\n transformFn: transformRESTVideoV2ToSDKVideoV2,\n paths: [{ path: 'entity.media.wixMedia.videoV2' }],\n },\n ]),\n ['entity.rich_content']\n )\n)<PostCreatedEnvelope>();\nexport const onPostDeleted = EventDefinition(\n 'wix.blog.v3.post_deleted',\n true,\n (event: PostDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.firstPublishedDate' },\n { path: 'entity.lastPublishedDate' },\n { path: 'entity.richContent.metadata.createdTimestamp' },\n { path: 'entity.richContent.metadata.updatedTimestamp' },\n { path: 'entity.moderationDetails.submittedDate' },\n { path: 'entity.moderationDetails.moderationDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLToSDKPageURL,\n paths: [{ path: 'entity.url' }, { path: 'entity.translations.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.heroImage' },\n { path: 'entity.coverMedia.image' },\n { path: 'entity.media.wixMedia.image' },\n ],\n },\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'entity.richContentCompressed' }],\n },\n {\n transformFn: transformRESTVideoToSDKVideo,\n paths: [{ path: 'entity.coverMedia.video' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'entity.metrics.averageRating' },\n {\n path: 'entity.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n { path: 'entity.richContent.nodes.galleryData.options.item.ratio' },\n { path: 'entity.richContent.nodes.imageData.image.duration' },\n { path: 'entity.richContent.nodes.mapData.mapSettings.lat' },\n { path: 'entity.richContent.nodes.mapData.mapSettings.lng' },\n { path: 'entity.richContent.nodes.pollData.poll.image.duration' },\n {\n path: 'entity.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n { path: 'entity.richContent.nodes.appEmbedData.image.duration' },\n { path: 'entity.richContent.nodes.videoData.video.duration' },\n { path: 'entity.richContent.nodes.videoData.thumbnail.duration' },\n { path: 'entity.richContent.nodes.audioData.audio.duration' },\n { path: 'entity.richContent.nodes.audioData.coverImage.duration' },\n ],\n },\n {\n transformFn: transformRESTVideoV2ToSDKVideoV2,\n paths: [{ path: 'entity.media.wixMedia.videoV2' }],\n },\n ]),\n ['entity.rich_content']\n )\n)<PostDeletedEnvelope>();\nexport const onPostLiked = EventDefinition(\n 'wix.blog.v3.post_liked',\n true,\n (event: PostLikedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ]),\n ['entity.rich_content']\n )\n)<PostLikedEnvelope>();\nexport const onPostUnliked = EventDefinition(\n 'wix.blog.v3.post_unliked',\n true,\n (event: PostUnlikedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'metadata.eventTime' }],\n },\n ]),\n ['entity.rich_content']\n )\n)<PostUnlikedEnvelope>();\nexport const onPostUpdated = EventDefinition(\n 'wix.blog.v3.post_updated',\n true,\n (event: PostUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.firstPublishedDate' },\n { path: 'entity.lastPublishedDate' },\n { path: 'entity.richContent.metadata.createdTimestamp' },\n { path: 'entity.richContent.metadata.updatedTimestamp' },\n { path: 'entity.moderationDetails.submittedDate' },\n { path: 'entity.moderationDetails.moderationDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLToSDKPageURL,\n paths: [{ path: 'entity.url' }, { path: 'entity.translations.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.heroImage' },\n { path: 'entity.coverMedia.image' },\n { path: 'entity.media.wixMedia.image' },\n ],\n },\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'entity.richContentCompressed' }],\n },\n {\n transformFn: transformRESTVideoToSDKVideo,\n paths: [{ path: 'entity.coverMedia.video' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'entity.metrics.averageRating' },\n {\n path: 'entity.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n { path: 'entity.richContent.nodes.galleryData.options.item.ratio' },\n { path: 'entity.richContent.nodes.imageData.image.duration' },\n { path: 'entity.richContent.nodes.mapData.mapSettings.lat' },\n { path: 'entity.richContent.nodes.mapData.mapSettings.lng' },\n { path: 'entity.richContent.nodes.pollData.poll.image.duration' },\n {\n path: 'entity.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n { path: 'entity.richContent.nodes.appEmbedData.image.duration' },\n { path: 'entity.richContent.nodes.videoData.video.duration' },\n { path: 'entity.richContent.nodes.videoData.thumbnail.duration' },\n { path: 'entity.richContent.nodes.audioData.audio.duration' },\n { path: 'entity.richContent.nodes.audioData.coverImage.duration' },\n ],\n },\n {\n transformFn: transformRESTVideoV2ToSDKVideoV2,\n paths: [{ path: 'entity.media.wixMedia.videoV2' }],\n },\n ]),\n ['entity.rich_content']\n )\n)<PostUpdatedEnvelope>();\n\nexport {\n ActionEvent,\n Alignment,\n AnchorData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n AudioData,\n Background,\n BackgroundBackgroundOneOf,\n BackgroundType,\n BaseEventMetadata,\n BlockquoteData,\n BlogPaging,\n BookingData,\n Border,\n BorderColors,\n BulkGetPostMetricsRequest,\n BulkGetPostMetricsResponse,\n BulkGetPostReactionsRequest,\n BulkGetPostReactionsResponse,\n BulletedListData,\n ButtonData,\n CaptionData,\n Category,\n CategoryTranslation,\n CellStyle,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n ConvertDraftJsToRichContentRequest,\n ConvertDraftJsToRichContentResponse,\n ConvertRichContentToDraftJsRequest,\n ConvertRichContentToDraftJsResponse,\n CoverMedia,\n CoverMediaMediaOneOf,\n CreateDraftPostFromTemplateRequest,\n CreateDraftPostFromTemplateResponse,\n Crop,\n CursorPaging,\n Cursors,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n Design,\n Dimensions,\n Direction,\n DividerData,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n DraftPost,\n DraftPostTranslation,\n EmbedData,\n EmbedMedia,\n EmbedThumbnail,\n EmbedVideo,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventData,\n EventMetadata,\n Field,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FocalPoint,\n FontSizeData,\n FontType,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GetPostBySlugOptions,\n GetPostBySlugRequest,\n GetPostBySlugResponse,\n GetPostMetricsRequest,\n GetPostMetricsResponse,\n GetPostOptions,\n GetPostRequest,\n GetPostResponse,\n GetPostTemplatesSort,\n GetPostsSort,\n GetTemplateRequest,\n GetTemplateResponse,\n GetTotalLikesPerMemberRequest,\n GetTotalLikesPerMemberResponse,\n GetTotalPostsOptions,\n GetTotalPostsRequest,\n GetTotalPostsResponse,\n GetTotalPublicationsRequest,\n GetTotalPublicationsResponse,\n Gradient,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataStyles,\n InitialExpandedItems,\n InitialPostsCopied,\n Item,\n ItemDataOneOf,\n ItemStyle,\n Keyword,\n Layout,\n LayoutCellData,\n LayoutType,\n LikePostRequest,\n LikePostResponse,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n ListDemoPostsRequest,\n ListDemoPostsResponse,\n ListPostsArchiveRequest,\n ListPostsArchiveResponse,\n ListPostsOptions,\n ListPostsRequest,\n ListPostsResponse,\n ListTemplatesRequest,\n ListTemplatesResponse,\n ListValue,\n MapData,\n MapSettings,\n MapType,\n Media,\n MediaMediaOneOf,\n MentionData,\n MessageEnvelope,\n MetaData,\n Metadata,\n Metrics,\n ModerationDetails,\n ModerationStatusStatus,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NullValue,\n Oembed,\n OldBlogMigratedEvent,\n Option,\n OptionDesign,\n OptionLayout,\n Order,\n OrderedListData,\n Orientation,\n Origin,\n PDFSettings,\n Paging,\n PagingMetadataV2,\n ParagraphData,\n PeriodPostCount,\n PeriodPublicationsCount,\n Permissions,\n PinPostRequest,\n PinPostResponse,\n PlatformQuery,\n PlatformQueryPagingMethodOneOf,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollSettings,\n Position,\n Post,\n PostCategoriesUpdated,\n PostCountInfo,\n PostCountersUpdated,\n PostCountersUpdatedInitiatorOneOf,\n PostCreatedEnvelope,\n PostDeletedEnvelope,\n PostFieldField,\n PostLiked,\n PostLikedEnvelope,\n PostLikedInitiatorOneOf,\n PostOwnerChanged,\n PostTagsUpdated,\n PostTranslation,\n PostUnliked,\n PostUnlikedEnvelope,\n PostUnlikedInitiatorOneOf,\n PostUpdatedEnvelope,\n PostsQueryBuilder,\n PostsQueryResult,\n QueryPostCountStatsOptions,\n QueryPostCountStatsRequest,\n QueryPostCountStatsResponse,\n QueryPostsOptions,\n QueryPostsRequest,\n QueryPostsResponse,\n QueryPublicationsCountStatsRequest,\n QueryPublicationsCountStatsRequestOrder,\n QueryPublicationsCountStatsResponse,\n Reactions,\n Rel,\n RestoreInfo,\n RichContent,\n ScheduledPostPublished,\n SeoSchema,\n Settings,\n SortOrder,\n Sorting,\n Source,\n Spoiler,\n SpoilerData,\n Status,\n Styles,\n StylesBorder,\n TableCellData,\n TableData,\n Tag,\n Target,\n TextAlignment,\n TextData,\n TextNodeStyle,\n TextStyle,\n Thumbnails,\n ThumbnailsAlignment,\n Type,\n UnlikePostRequest,\n UnlikePostResponse,\n UnpinPostRequest,\n UnpinPostResponse,\n V1Media,\n VerticalAlignment,\n Video,\n VideoData,\n VideoResolution,\n ViewMode,\n ViewPostRequest,\n ViewPostResponse,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n Width,\n WidthType,\n WixMedia,\n} from './blog-v3-post-posts.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, HttpResponse, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixBlogV3Post from './blog-v3-post-posts.http.js';\n// @ts-ignore\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTVideoV2ToSDKVideoV2 } from '@wix/sdk-runtime/transformations/video-v2';\nimport { transformRESTVideoToSDKVideo } from '@wix/sdk-runtime/transformations/video';\nimport { transformRESTPageURLToSDKPageURL } from '@wix/sdk-runtime/transformations/page-url';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface Post {\n /**\n * Post ID.\n * @readonly\n * @format GUID\n */\n _id?: string;\n /**\n * Post title.\n * @maxLength 100\n */\n title?: string;\n /**\n * Post excerpt.\n * Can be selected by a site contributor. By default, it is extracted from the content text's first characters.\n *\n * Max: 500 characters\n * @maxLength 500\n */\n excerpt?: string;\n /**\n * The post's content in plain text.\n * @readonly\n * @maxLength 400000\n */\n contentText?: string | null;\n /** Date the post was first published. */\n firstPublishedDate?: Date | null;\n /**\n * Date the post was last published.\n * @readonly\n */\n lastPublishedDate?: Date | null;\n /** Post URL. */\n url?: string;\n /**\n * Post slug. For example, `'post-slug'`.\n * @maxLength 100\n */\n slug?: string;\n /** Whether the post is marked as featured. */\n featured?: boolean;\n /** Whether the post is pinned. If `true`, the post is placed at the top of the post list. */\n pinned?: boolean;\n /**\n * [Category IDs](https://dev.wix.com/docs/rest/business-solutions/blog/category/introduction) of the post.\n * @maxSize 10\n * @format GUID\n */\n categoryIds?: string[];\n /**\n * __Deprecated.__ Use `media` instead.\n * This property will be removed on June 30, 2023.\n *\n * Post cover media.\n * @deprecated\n * @replacedBy media\n * @targetRemovalDate 2024-06-30\n */\n coverMedia?: CoverMedia;\n /**\n * Post owner's [member ID](https://dev.wix.com/api/rest/members).\n * @format GUID\n */\n memberId?: string;\n /**\n * Hashtags in the post.\n * @readonly\n * @maxSize 100\n * @maxLength 100\n */\n hashtags?: string[];\n /** Whether commenting on the post is enabled. */\n commentingEnabled?: boolean;\n /** Estimated reading time (calculated automatically). */\n minutesToRead?: number;\n /** Image placed at the top of the blog page. */\n heroImage?: string;\n /**\n * IDs of [tags](https://dev.wix.com/docs/rest/business-solutions/blog/tags) the post is tagged with.\n * @readonly\n * @maxSize 30\n * @format GUID\n */\n tagIds?: string[];\n /**\n * IDs of posts related to the post.\n * @readonly\n * @maxSize 3\n * @format GUID\n */\n relatedPostIds?: string[];\n /**\n * [Pricing plan IDs](https://dev.wix.com/api/rest/wix-pricing-plans). Only relevant if a post is assigned to a specific pricing plan.\n * @readonly\n * @maxSize 100\n * @format GUID\n */\n pricingPlanIds?: string[];\n /**\n * ID of the translations of this post. All translations of a single post share the same `translationId`.\n * @format GUID\n */\n translationId?: string | null;\n /**\n * Language the post is written in.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /** SEO data. */\n seoData?: SeoSchema;\n /**\n * Reserved for internal use.\n * @readonly\n * @maxLength 400000\n */\n content?: string | null;\n /**\n * Post owner's [contact ID](https://dev.wix.com/api/rest/contacts).\n * @format GUID\n */\n contactId?: string | null;\n /**\n * Post rich content\n *\n * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"image.gallery.video.audio.divider.linkButton.html.giphy.codeBlock.file.hashtag.lineSpacing.indent.link.textColor.textHighlight.heading.verticalEmbed.table.collapsibleList.poll\" exampleid=\"72c23a25-524f-4f70-a260-4a2777b6f5d5\">\n * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n * </widget>\n * @readonly\n */\n richContent?: RichContent;\n /**\n * Whether the returned content is a preview of premium content. Defaults to `false`.\n * A preview displays a limited number of paragraphs of paid content to non-subscribed users.\n * @readonly\n */\n preview?: boolean;\n /**\n * Reserved for internal use.\n * @maxLength 24\n */\n contentId?: string | null;\n /**\n * Reserved for internal use.\n * @readonly\n * @format GUID\n */\n mostRecentContributorId?: string | null;\n /**\n * Post moderation details. Only relevant to posts submitted by [guest writers](https://support.wix.com/en/article/wix-blog-moderating-blog-posts-from-your-guest-writers).\n * @readonly\n */\n moderationDetails?: ModerationDetails;\n /** Post cover media. */\n media?: Media;\n /**\n * Post rich content as a string\n * @internal\n * @readonly\n * @maxLength 8000000\n */\n richContentString?: string | null;\n /**\n * Indicates if there is a draft post with changes that have not yet been published.\n * @readonly\n */\n hasUnpublishedChanges?: boolean;\n /**\n * Post reference ID. You can reference the post from other entities, for example, comments.\n * @readonly\n * @maxLength 24\n */\n referenceId?: string | null;\n}\n\nexport interface CoverMedia extends CoverMediaMediaOneOf {\n /** Image url. */\n image?: string;\n /** Video url. */\n video?: string;\n /**\n * Is cover media enabled.\n * Selected by user whether to display cover media on the feed\n * @deprecated Is cover media enabled.\n * Selected by user whether to display cover media on the feed\n * @replacedBy displayed\n * @targetRemovalDate 2024-06-30\n */\n enabled?: boolean;\n /** Whether cover media is displayed. */\n displayed?: boolean;\n /** Whether cover media is custom. If `false` the cover image is set to the first media item that appears in the content. */\n custom?: boolean;\n /**\n * Media alternative text.\n * @minLength 1\n * @maxLength 1000\n */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface CoverMediaMediaOneOf {\n /** Image url. */\n image?: string;\n /** Video url. */\n video?: string;\n}\n\nexport interface FocalPoint {\n /** X-coordinate of the focal point. */\n x?: number;\n /** Y-coordinate of the focal point. */\n y?: number;\n /** crop by height */\n height?: number | null;\n /** crop by width */\n width?: number | null;\n}\n\nexport interface PostCountInfo {\n /**\n * Total number of post comments\n * @readonly\n */\n comments?: number;\n /**\n * Total number of post likes\n * @readonly\n */\n likes?: number;\n /**\n * Total number of post views\n * @readonly\n */\n views?: number;\n}\n\nexport interface Metrics {\n /**\n * Total number of post comments.\n * @readonly\n */\n comments?: number;\n /**\n * Total number of post likes.\n * @readonly\n */\n likes?: number;\n /**\n * Total number of post views.\n * @readonly\n */\n views?: number;\n}\n\n/**\n * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\n * The search engines use this information for ranking purposes, or to display snippets in the search results.\n * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n */\nexport interface SeoSchema {\n /** SEO tag information. */\n tags?: Tag[];\n /** SEO general settings. */\n settings?: Settings;\n}\n\nexport interface Keyword {\n /** Keyword value. */\n term?: string;\n /** Whether the keyword is the main focus keyword. */\n isMain?: boolean;\n /**\n * The source that added the keyword terms to the SEO settings.\n * @maxLength 1000\n */\n origin?: string | null;\n}\n\nexport interface Tag {\n /**\n * SEO tag type.\n *\n *\n * Supported values: `title`, `meta`, `script`, `link`.\n */\n type?: string;\n /**\n * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n */\n props?: Record<string, any> | null;\n /** SEO tag meta data. For example, `{\"height\": 300, \"width\": 240}`. */\n meta?: Record<string, any> | null;\n /** SEO tag inner content. For example, `<title> inner content </title>`. */\n children?: string;\n /** Whether the tag is a custom tag. */\n custom?: boolean;\n /** Whether the tag is disabled. */\n disabled?: boolean;\n}\n\nexport interface Settings {\n /**\n * Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n *\n *\n * Default: `false` (Auto Redirect is enabled.)\n */\n preventAutoRedirect?: boolean;\n /**\n * User-selected keyword terms for a specific page.\n * @maxSize 5\n */\n keywords?: Keyword[];\n}\n\nexport interface RichContent {\n /** Node objects representing a rich content document. */\n nodes?: Node[];\n /** Object metadata. */\n metadata?: Metadata;\n /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n documentStyle?: DocumentStyle;\n}\n\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */\n layoutCellData?: LayoutCellData;\n /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */\n type?: NodeType;\n /** Node ID. */\n _id?: string;\n /** A list of child nodes. */\n nodes?: Node[];\n /** Padding and background color styling for the node. */\n style?: NodeStyle;\n}\n\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */\n layoutCellData?: LayoutCellData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n}\n\nexport interface NodeStyle {\n /** The top padding value in pixels. */\n paddingTop?: string | null;\n /** The bottom padding value in pixels. */\n paddingBottom?: string | null;\n /** The background color as a hexadecimal value. */\n backgroundColor?: string | null;\n}\n\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: Type;\n /** Styling for the button. */\n styles?: Styles;\n /** The text to display on the button. */\n text?: string | null;\n /** Button link details. */\n link?: Link;\n}\n\nexport interface Border {\n /** Border width in pixels. */\n width?: number | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface Colors {\n /** The text color as a hexadecimal value. */\n text?: string | null;\n /** The border color as a hexadecimal value. */\n border?: string | null;\n /** The background color as a hexadecimal value. */\n background?: string | null;\n}\n\nexport interface PluginContainerData {\n /** The width of the node when it's displayed. */\n width?: PluginContainerDataWidth;\n /** The node's alignment within its container. */\n alignment?: PluginContainerDataAlignment;\n /** Spoiler cover settings for the node. */\n spoiler?: Spoiler;\n /** The height of the node when it's displayed. */\n height?: Height;\n /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */\n textWrap?: boolean | null;\n}\n\nexport enum WidthType {\n /** Width matches the content width */\n CONTENT = 'CONTENT',\n /** Small Width */\n SMALL = 'SMALL',\n /** Width will match the original asset width */\n ORIGINAL = 'ORIGINAL',\n /** coast-to-coast display */\n FULL_WIDTH = 'FULL_WIDTH',\n}\n\nexport interface PluginContainerDataWidth\n extends PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthType;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport interface PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthType;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\nexport interface Spoiler {\n /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n enabled?: boolean | null;\n /** The description displayed on top of the spoiler cover. */\n description?: string | null;\n /** The text for the button used to remove the spoiler cover. */\n buttonText?: string | null;\n}\n\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum Type {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\nexport interface Styles {\n /** Border attributes. */\n border?: Border;\n /** Color attributes. */\n colors?: Colors;\n}\n\nexport interface Link extends LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n /**\n * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n * `SELF` - Default. Opens the linked document in the same frame as the link.\n * `BLANK` - Opens the linked document in a new browser tab or window.\n * `PARENT` - Opens the linked document in the link's parent frame.\n * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n */\n target?: Target;\n /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n rel?: Rel;\n /** A serialized object used for a custom or external link panel. */\n customData?: string | null;\n}\n\n/** @oneof */\nexport interface LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n}\n\nexport enum Target {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\nexport interface Rel {\n /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n nofollow?: boolean | null;\n /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n sponsored?: boolean | null;\n /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */\n ugc?: boolean | null;\n /** Indicates that this link protect referral information from being passed to the target website. */\n noreferrer?: boolean | null;\n}\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignment;\n /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */\n lineHeight?: string | null;\n}\n\nexport enum TextAlignment {\n /** browser default, eqivalent to `initial` */\n AUTO = 'AUTO',\n /** Left align */\n LEFT = 'LEFT',\n /** Right align */\n RIGHT = 'RIGHT',\n /** Center align */\n CENTER = 'CENTER',\n /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */\n JUSTIFY = 'JUSTIFY',\n}\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyle;\n /** Divider width. */\n width?: Width;\n /** Divider alignment. */\n alignment?: Alignment;\n}\n\nexport enum LineStyle {\n /** Single Line */\n SINGLE = 'SINGLE',\n /** Double Line */\n DOUBLE = 'DOUBLE',\n /** Dashed Line */\n DASHED = 'DASHED',\n /** Dotted Line */\n DOTTED = 'DOTTED',\n}\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\nexport enum Alignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport enum ViewMode {\n /** No PDF view */\n NONE = 'NONE',\n /** Full PDF view */\n FULL = 'FULL',\n /** Mini PDF view */\n MINI = 'MINI',\n}\n\nexport interface FileSource extends FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n _id?: string | null;\n /** Indicates whether the file's source is private. Defaults to `false`. */\n private?: boolean | null;\n}\n\n/** @oneof */\nexport interface FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n _id?: string | null;\n}\n\nexport interface PDFSettings {\n /**\n * PDF view mode. One of the following:\n * `NONE` : The PDF isn't displayed.\n * `FULL` : A full page view of the PDF is displayed.\n * `MINI` : A mini view of the PDF is displayed.\n */\n viewMode?: ViewMode;\n /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n disablePrint?: boolean | null;\n}\n\nexport interface GalleryData {\n /** Styling for the gallery's container. */\n containerData?: PluginContainerData;\n /** The items in the gallery. */\n items?: Item[];\n /** Options for defining the gallery's appearance. */\n options?: GalleryOptions;\n /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n}\n\nexport interface V1Media {\n /** The source for the media's data. */\n src?: FileSource;\n /** Media width in pixels. */\n width?: number | null;\n /** Media height in pixels. */\n height?: number | null;\n /** Media duration in seconds. Only relevant for audio and video files. */\n duration?: number | null;\n}\n\nexport interface Image {\n /** Image file details. */\n media?: V1Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: V1Media;\n /** Video thumbnail file details. */\n thumbnail?: V1Media;\n}\n\nexport interface Item extends ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n /** Item title. */\n title?: string | null;\n /** Item's alternative text. */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: Layout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport enum LayoutType {\n /** Collage type */\n COLLAGE = 'COLLAGE',\n /** Masonry type */\n MASONRY = 'MASONRY',\n /** Grid type */\n GRID = 'GRID',\n /** Thumbnail type */\n THUMBNAIL = 'THUMBNAIL',\n /** Slider type */\n SLIDER = 'SLIDER',\n /** Slideshow type */\n SLIDESHOW = 'SLIDESHOW',\n /** Panorama type */\n PANORAMA = 'PANORAMA',\n /** Column type */\n COLUMN = 'COLUMN',\n /** Magic type */\n MAGIC = 'MAGIC',\n /** Fullsize images type */\n FULLSIZE = 'FULLSIZE',\n}\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\nexport enum ThumbnailsAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Right alignment */\n RIGHT = 'RIGHT',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n /** Left alignment */\n LEFT = 'LEFT',\n /** No thumbnail */\n NONE = 'NONE',\n}\n\nexport interface Layout {\n /** Gallery layout type. */\n type?: LayoutType;\n /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n horizontalScroll?: boolean | null;\n /** Gallery orientation. */\n orientation?: Orientation;\n /** The number of columns to display on full size screens. */\n numberOfColumns?: number | null;\n /** The number of columns to display on mobile screens. */\n mobileNumberOfColumns?: number | null;\n}\n\nexport interface ItemStyle {\n /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n targetSize?: number | null;\n /** Item ratio */\n ratio?: number | null;\n /** Sets how item images are cropped. */\n crop?: Crop;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignment;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport interface GIFData {\n /** Styling for the GIF's container. */\n containerData?: PluginContainerData;\n /** The source of the full size GIF. */\n original?: GIF;\n /** The source of the downsized GIF. */\n downsized?: GIF;\n /** Height in pixels. */\n height?: number;\n /** Width in pixels. */\n width?: number;\n /** Type of GIF (Sticker or GIF). Defaults to `GIF`. */\n gifType?: GIFType;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n GIF = 'GIF',\n STICKER = 'STICKER',\n}\n\nexport interface HeadingData {\n /** Heading level from 1-6. */\n level?: number;\n /** Styling for the heading text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n}\n\nexport interface HTMLData extends HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: Source;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport interface HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n}\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: V1Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport interface LinkPreviewData {\n /** Styling for the link preview's container. */\n containerData?: PluginContainerData;\n /** Link details. */\n link?: Link;\n /** Preview title. */\n title?: string | null;\n /** Preview thumbnail URL. */\n thumbnailUrl?: string | null;\n /** Preview description. */\n description?: string | null;\n /** The preview content as HTML. */\n html?: string | null;\n}\n\nexport enum Position {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: Position;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport interface MapSettings {\n /** The address to display on the map. */\n address?: string | null;\n /** Sets whether the map is draggable. */\n draggable?: boolean | null;\n /** Sets whether the location marker is visible. */\n marker?: boolean | null;\n /** Sets whether street view control is enabled. */\n streetViewControl?: boolean | null;\n /** Sets whether zoom control is enabled. */\n zoomControl?: boolean | null;\n /** Location latitude. */\n lat?: number | null;\n /** Location longitude. */\n lng?: number | null;\n /** Location name. */\n locationName?: string | null;\n /** Sets whether view mode control is enabled. */\n viewModeControl?: boolean | null;\n /** Initial zoom value. */\n initialZoom?: number | null;\n /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n mapType?: MapType;\n}\n\nexport enum MapType {\n /** Roadmap map type */\n ROADMAP = 'ROADMAP',\n /** Satellite map type */\n SATELITE = 'SATELITE',\n /** Hybrid map type */\n HYBRID = 'HYBRID',\n /** Terrain map type */\n TERRAIN = 'TERRAIN',\n}\n\nexport interface ParagraphData {\n /** Styling for the paragraph text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n /** Paragraph level */\n level?: number | null;\n}\n\nexport interface PollData {\n /** Styling for the poll's container. */\n containerData?: PluginContainerData;\n /** Poll data. */\n poll?: Poll;\n /** Layout settings for the poll and voting options. */\n layout?: PollDataLayout;\n /** Styling for the poll and voting options. */\n design?: Design;\n}\n\nexport enum ViewRole {\n /** Only Poll creator can view the results */\n CREATOR = 'CREATOR',\n /** Anyone who voted can see the results */\n VOTERS = 'VOTERS',\n /** Anyone can see the results, even if one didn't vote */\n EVERYONE = 'EVERYONE',\n}\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRole;\n /** Sets who can vote. */\n vote?: VoteRole;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface Option {\n /** Option ID. */\n _id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: V1Media;\n}\n\nexport interface PollSettings {\n /** Permissions settings for voting. */\n permissions?: Permissions;\n /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n showVoters?: boolean | null;\n /** Sets whether the vote count is displayed. Defaults to `true`. */\n showVotesCount?: boolean | null;\n}\n\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutType;\n /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n direction?: PollLayoutDirection;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum BackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\nexport interface Gradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface Background extends BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: V1Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n /** Background type. For each option, include the relevant details. */\n type?: BackgroundType;\n}\n\n/** @oneof */\nexport interface BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: V1Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: Background;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n _id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: V1Media;\n /** Voting options. */\n options?: Option[];\n /** The poll's permissions and display settings. */\n settings?: PollSettings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport interface Decoration extends DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** The type of decoration to apply. */\n type?: DecorationType;\n}\n\n/** @oneof */\nexport interface DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n}\n\nexport enum DecorationType {\n BOLD = 'BOLD',\n ITALIC = 'ITALIC',\n UNDERLINE = 'UNDERLINE',\n SPOILER = 'SPOILER',\n ANCHOR = 'ANCHOR',\n MENTION = 'MENTION',\n LINK = 'LINK',\n COLOR = 'COLOR',\n FONT_SIZE = 'FONT_SIZE',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport interface ColorData {\n /** The text's background color as a hexadecimal value. */\n background?: string | null;\n /** The text's foreground color as a hexadecimal value. */\n foreground?: string | null;\n}\n\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport interface MentionData {\n /** The mentioned user's name. */\n name?: string;\n /** The version of the user's name that appears after the `@` character in the mention. */\n slug?: string;\n /** Mentioned user's ID. */\n _id?: string | null;\n}\n\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontType;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n _id?: string | null;\n}\n\nexport interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n /** The type of Wix App content being embedded. */\n type?: AppType;\n /** The ID of the embedded content. */\n itemId?: string | null;\n /** The name of the embedded content. */\n name?: string | null;\n /**\n * Deprecated: Use `image` instead.\n * @deprecated\n */\n imageSrc?: string | null;\n /** The URL for the embedded content. */\n url?: string | null;\n /** An image for the embedded content. */\n image?: V1Media;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface VideoData {\n /** Styling for the video's container. */\n containerData?: PluginContainerData;\n /** Video details. */\n video?: V1Media;\n /** Video thumbnail details. */\n thumbnail?: V1Media;\n /** Sets whether the video's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Video title. */\n title?: string | null;\n /** Video options. */\n options?: PlaybackOptions;\n}\n\nexport interface PlaybackOptions {\n /** Sets whether the media will automatically start playing. */\n autoPlay?: boolean | null;\n /** Sets whether media's will be looped. */\n playInLoop?: boolean | null;\n /** Sets whether media's controls will be shown. */\n showControls?: boolean | null;\n}\n\nexport interface EmbedData {\n /** Styling for the oEmbed node's container. */\n containerData?: PluginContainerData;\n /** An [oEmbed](https://www.oembed.com) object. */\n oembed?: Oembed;\n /** Origin asset source. */\n src?: string | null;\n}\n\nexport interface Oembed {\n /** The resource type. */\n type?: string | null;\n /** The width of the resource specified in the `url` property in pixels. */\n width?: number | null;\n /** The height of the resource specified in the `url` property in pixels. */\n height?: number | null;\n /** Resource title. */\n title?: string | null;\n /** The source URL for the resource. */\n url?: string | null;\n /** HTML for embedding a video player. The HTML should have no padding or margins. */\n html?: string | null;\n /** The name of the author or owner of the resource. */\n authorName?: string | null;\n /** The URL for the author or owner of the resource. */\n authorUrl?: string | null;\n /** The name of the resource provider. */\n providerName?: string | null;\n /** The URL for the resource provider. */\n providerUrl?: string | null;\n /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n thumbnailUrl?: string | null;\n /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n thumbnailWidth?: string | null;\n /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n thumbnailHeight?: string | null;\n /** The URL for an embedded viedo. */\n videoUrl?: string | null;\n /** The oEmbed version number. This value must be `1.0`. */\n version?: string | null;\n}\n\nexport interface CollapsibleListData {\n /** Styling for the collapsible list's container. */\n containerData?: PluginContainerData;\n /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n expandOnlyOne?: boolean | null;\n /** Sets which items are expanded when the page loads. */\n initialExpandedItems?: InitialExpandedItems;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: Direction;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport enum InitialExpandedItems {\n /** First item will be expended initally */\n FIRST = 'FIRST',\n /** All items will expended initally */\n ALL = 'ALL',\n /** All items collapsed initally */\n NONE = 'NONE',\n}\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\nexport interface TableData {\n /** Styling for the table's container. */\n containerData?: PluginContainerData;\n /** The table's dimensions. */\n dimensions?: Dimensions;\n /**\n * Deprecated: Use `rowHeader` and `columnHeader` instead.\n * @deprecated\n */\n header?: boolean | null;\n /** Sets whether the table's first row is a header. Defaults to `false`. */\n rowHeader?: boolean | null;\n /** Sets whether the table's first column is a header. Defaults to `false`. */\n columnHeader?: boolean | null;\n}\n\nexport interface Dimensions {\n /** An array representing relative width of each column in relation to the other columns. */\n colsWidthRatio?: number[];\n /** An array representing the height of each row in pixels. */\n rowsHeight?: number[];\n /** An array representing the minimum width of each column in pixels. */\n colsMinWidth?: number[];\n}\n\nexport interface TableCellData {\n /** Styling for the cell's background color and text alignment. */\n cellStyle?: CellStyle;\n /** The cell's border colors. */\n borderColors?: BorderColors;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignment;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the\n * `Value` type union.\n *\n * The JSON representation for `NullValue` is JSON `null`.\n */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/**\n * `ListValue` is a wrapper around a repeated field of values.\n *\n * The JSON representation for `ListValue` is JSON array.\n */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport interface AudioData {\n /** Styling for the audio node's container. */\n containerData?: PluginContainerData;\n /** Audio file details. */\n audio?: V1Media;\n /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Cover image. */\n coverImage?: V1Media;\n /** Track name. */\n name?: string | null;\n /** Author name. */\n authorName?: string | null;\n /** An HTML version of the audio node. */\n html?: string | null;\n}\n\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport interface DocumentStyle {\n /** Styling for H1 nodes. */\n headerOne?: TextNodeStyle;\n /** Styling for H2 nodes. */\n headerTwo?: TextNodeStyle;\n /** Styling for H3 nodes. */\n headerThree?: TextNodeStyle;\n /** Styling for H4 nodes. */\n headerFour?: TextNodeStyle;\n /** Styling for H5 nodes. */\n headerFive?: TextNodeStyle;\n /** Styling for H6 nodes. */\n headerSix?: TextNodeStyle;\n /** Styling for paragraph nodes. */\n paragraph?: TextNodeStyle;\n /** Styling for block quote nodes. */\n blockquote?: TextNodeStyle;\n /** Styling for code block nodes. */\n codeBlock?: TextNodeStyle;\n}\n\nexport interface TextNodeStyle {\n /** The decorations to apply to the node. */\n decorations?: Decoration[];\n /** Padding and background color for the node. */\n nodeStyle?: NodeStyle;\n /** Line height for text in the node. */\n lineHeight?: string | null;\n}\n\nexport interface ModerationDetails {\n /**\n * Member ID of the person submitting the draft post for review.\n * @format GUID\n */\n submittedBy?: string;\n /** Date the post was submitted for review. */\n submittedDate?: Date | null;\n /** Status indicating whether the submission was approved or rejected by the moderator. */\n status?: ModerationStatusStatus;\n /**\n * Member ID of the person who approved or rejected the post.\n * @format GUID\n */\n moderatedBy?: string | null;\n /** Date the post was approved or rejected. */\n moderationDate?: Date | null;\n}\n\nexport enum ModerationStatusStatus {\n UNKNOWN = 'UNKNOWN',\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n}\n\nexport interface Media extends MediaMediaOneOf {\n /** Wix Media details. */\n wixMedia?: WixMedia;\n /** Embed media details. */\n embedMedia?: EmbedMedia;\n /** Whether cover media is displayed. */\n displayed?: boolean;\n /** Whether custom cover media has been specified. If `false`, the first media item in the post's content serves as cover media. */\n custom?: boolean;\n /**\n * Media alternative text.\n * @minLength 1\n * @maxLength 1000\n */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface MediaMediaOneOf {\n /** Wix Media details. */\n wixMedia?: WixMedia;\n /** Embed media details. */\n embedMedia?: EmbedMedia;\n}\n\nexport interface WixMedia {\n /** Image details. */\n image?: string;\n /** Video details. */\n videoV2?: string;\n}\n\nexport interface VideoResolution {\n /** Video URL. */\n url?: string;\n /** Video height. */\n height?: number;\n /** Video width. */\n width?: number;\n /** Video format for example, mp4, hls. */\n format?: string;\n}\n\nexport interface EmbedMedia {\n /** Thumbnail details. */\n thumbnail?: EmbedThumbnail;\n /** Video details. */\n video?: EmbedVideo;\n}\n\nexport interface EmbedThumbnail {\n /**\n * Thumbnail url.\n * @maxLength 2000\n */\n url?: string;\n /** Thumbnail width. */\n width?: number;\n /** Thumbnail height. */\n height?: number;\n}\n\nexport interface EmbedVideo {\n /**\n * Video url.\n * @maxLength 2000\n */\n url?: string;\n /** Video width. */\n width?: number;\n /** Video height. */\n height?: number;\n}\n\nexport interface PostTranslation {\n /**\n * Post ID.\n * @format GUID\n */\n _id?: string;\n /**\n * Language the post is written in.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Post slug. For example, 'post-slug'.\n * @maxLength 100\n */\n slug?: string | null;\n /** SEO data. */\n seoData?: SeoSchema;\n /** Post URL. */\n url?: string;\n}\n\nexport interface PostCategoriesUpdated {\n /**\n * ID of the post which counters were updated.\n * @format GUID\n */\n postId?: string;\n /**\n * Current categories of the post.\n * @maxSize 10\n * @format GUID\n */\n categories?: string[];\n /**\n * Previous categories of the post.\n * @maxSize 10\n * @format GUID\n */\n previousCategories?: string[];\n}\n\nexport interface PostTagsUpdated {\n /**\n * ID of the post which counters were updated.\n * @format GUID\n */\n postId?: string;\n /**\n * Current tags of the post.\n * @maxSize 30\n * @format GUID\n */\n tags?: string[];\n /**\n * Previous tags of the post.\n * @maxSize 30\n * @format GUID\n */\n previousTags?: string[];\n}\n\nexport interface ScheduledPostPublished {\n /**\n * ID of the scheduled post which was published.\n * @format GUID\n */\n postId?: string;\n}\n\n/** Get Blog Publications Count Stats request */\nexport interface QueryPublicationsCountStatsRequest {\n /** Start of time range to return, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time format. */\n rangeStart?: Date | null;\n /** Non-inclusive end of time range to return, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time format. */\n rangeEnd?: Date | null;\n /** Order of the returned results. */\n order?: QueryPublicationsCountStatsRequestOrder;\n /** Number of months to include in the response. */\n months?: number;\n /**\n * Language filter\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Timezone of the client.\n * @minLength 3\n * @maxLength 100\n */\n timeZone?: string | null;\n}\n\nexport enum QueryPublicationsCountStatsRequestOrder {\n UNKNOWN = 'UNKNOWN',\n OLDEST = 'OLDEST',\n NEWEST = 'NEWEST',\n}\n\n/** Get Blog Publications Count Stats response */\nexport interface QueryPublicationsCountStatsResponse {\n /** Chronologically ordered list of publications. */\n stats?: PeriodPublicationsCount[];\n}\n\n/** Publications count for a specific time period */\nexport interface PeriodPublicationsCount {\n /** Start of time range in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time format. */\n periodStart?: Date | null;\n /** Number of posts published during this month. */\n publicationsCount?: number;\n}\n\n/** Get Blog Post Count Stats request */\nexport interface QueryPostCountStatsRequest {\n /** Start of time range to return, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time format. */\n rangeStart?: Date | null;\n /**\n * Order of returned results.\n *\n * - `OLDEST`: posts by date in ascending order.\n * - `NEWEST`: posts by date in descending order.\n *\n * Default: `OLDEST`\n */\n order?: Order;\n /** Number of months to include in response. */\n months?: number;\n /**\n * Language filter.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * Pass a language to only receive the period post count for that specified language.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Time zone to use when calculating the start of the month.\n *\n * [UTC timezone offset](https://en.wikipedia.org/wiki/List_of_UTC_offsets) format. For example, New York time zone is `-05`.\n * @minLength 3\n * @maxLength 100\n */\n timeZone?: string | null;\n}\n\nexport enum Order {\n UNKNOWN = 'UNKNOWN',\n OLDEST = 'OLDEST',\n NEWEST = 'NEWEST',\n}\n\n/** Get Blog Post Count Stats response */\nexport interface QueryPostCountStatsResponse {\n /** List of published post counts by month. */\n stats?: PeriodPostCount[];\n}\n\n/** Post count for a specific time period */\nexport interface PeriodPostCount {\n /** Start of time range in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time format. */\n periodStart?: Date | null;\n /** Number of posts published during this month. */\n postCount?: number;\n}\n\nexport interface GetTotalPublicationsRequest {\n /**\n * Language filter\n * @minLength 2\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n}\n\nexport interface GetTotalPublicationsResponse {\n /** Total amount of publications. */\n total?: number;\n}\n\nexport interface GetTotalPostsRequest {\n /**\n * Language filter.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * Pass a language to receive the total amount of posts in that specified language.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n}\n\nexport interface GetTotalPostsResponse {\n /** Total amount of published posts. */\n total?: number;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /**\n * Unique event ID.\n * Allows clients to ignore duplicate webhooks.\n */\n _id?: string;\n /**\n * Assumes actions are also always typed to an entity_type\n * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n */\n entityFqdn?: string;\n /**\n * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n * This is although the created/updated/deleted notion is duplication of the oneof types\n * Example: created/updated/deleted/started/completed/email_opened\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number defining the order of updates to the underlying entity.\n * For example, given that some entity was updated at 16:00 and than again at 16:01,\n * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n * To do so, you will need to persist this number on your end, and compare the sequence number from the\n * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityType;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\nexport interface ListTemplatesRequest {\n /**\n * Filter post templates by given template category ids\n * @maxSize 50\n * @format GUID\n */\n categoryIds?: string[];\n /**\n * Filter post templates by provided language\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /** Returns post template categories when set to TRUE */\n listTemplateCategories?: boolean;\n /** Sort order by ascending/descending publish date. Default is ascending publish date sort */\n sort?: GetPostTemplatesSort;\n /** Pagination options. */\n paging?: BlogPaging;\n}\n\nexport enum GetPostTemplatesSort {\n /** Sort by ascending publishing date. */\n PUBLISHED_DATE_ASC = 'PUBLISHED_DATE_ASC',\n /** Sort by descending publishing date. */\n PUBLISHED_DATE_DESC = 'PUBLISHED_DATE_DESC',\n}\n\nexport interface BlogPaging {\n /**\n * Number of items to skip in the current sort order.\n *\n *\n * Default: `0`\n */\n offset?: number;\n /**\n * Number of items to return.\n *\n *\n * Default:`50`\n * @min 1\n * @max 100\n */\n limit?: number;\n /**\n * Pointer to the next or previous page in the list of results.\n * @maxLength 2000\n */\n cursor?: string | null;\n}\n\nexport interface ListTemplatesResponse {\n /** Available post templates */\n postTemplates?: Post[];\n /** Details on the paged set of posts templates returned. */\n postTemplatesMetaData?: MetaData;\n /** Post template categories. This value is returned empty unless asked explicitly */\n templateCategories?: Category[];\n}\n\nexport interface MetaData {\n /** Number of items returned in this response. */\n count?: number;\n /** Requested offset. */\n offset?: number;\n /** Total number of items that match the query. */\n total?: number;\n /**\n * Pointer to the next or previous page in the list of results.\n * @maxLength 2000\n */\n cursor?: string | null;\n}\n\nexport interface Category {\n /**\n * Category ID.\n * @immutable\n * @maxLength 38\n */\n _id?: string;\n /**\n * Category label. Displayed in the Category Menu.\n * @maxLength 35\n */\n label?: string;\n /**\n * Number of posts in the category.\n * @readonly\n */\n postCount?: number;\n /**\n * The `url` of the page that lists every post with the specified category.\n * @readonly\n */\n url?: string;\n /**\n * Category description.\n * @maxLength 500\n */\n description?: string | null;\n /**\n * Category title.\n * @maxLength 200\n * @deprecated Category title.\n * @targetRemovalDate 2025-07-16\n */\n title?: string;\n /**\n * Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu).\n * Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence.\n *\n * Default: `-1`\n */\n displayPosition?: number | null;\n /**\n * ID of the category's translations. All translations of a single category share the same `translationId`.\n * @format GUID\n */\n translationId?: string | null;\n /**\n * Category language.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * @immutable\n */\n language?: string | null;\n /**\n * Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`.\n * @maxLength 100\n */\n slug?: string;\n /** SEO data. */\n seoData?: SeoSchema;\n /** Category cover image. */\n coverImage?: string;\n /**\n * Date and time the Category was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n}\n\nexport interface CategoryTranslation {\n /**\n * Category ID.\n * @format GUID\n */\n _id?: string;\n /**\n * Label displayed in the categories menu on the site.\n * @maxLength 100\n */\n label?: string | null;\n /**\n * Language of the category.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /** URL of this category page. */\n url?: string;\n}\n\nexport interface GetTemplateRequest {\n /**\n * Post template id\n * @format GUID\n */\n postTemplateId?: string;\n}\n\nexport interface GetTemplateResponse {\n /** Post template */\n postTemplate?: Post;\n}\n\nexport interface CreateDraftPostFromTemplateRequest {\n /**\n * Post template id\n * @format GUID\n */\n postTemplateId?: string;\n}\n\nexport interface CreateDraftPostFromTemplateResponse {\n /** Created draft post */\n draftPost?: DraftPost;\n}\n\nexport interface DraftPost {\n /**\n * Draft post ID.\n * @readonly\n * @maxLength 38\n */\n _id?: string;\n /**\n * Draft post title.\n * @maxLength 200\n */\n title?: string;\n /**\n * Draft post excerpt.\n *\n * If no excerpt has been manually set, an excerpt is automatically generated from the post's text.\n * This can be retrieved using the `GENERATED_EXCERPT` fieldset.\n * @maxLength 500\n */\n excerpt?: string | null;\n /** Whether the draft post is marked as featured. */\n featured?: boolean | null;\n /**\n * Category IDs of the draft post.\n * @maxSize 10\n * @maxLength 38\n */\n categoryIds?: string[];\n /**\n * Draft post owner's member ID.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Hashtags in the post.\n * @maxSize 100\n * @maxLength 100\n */\n hashtags?: string[];\n /** Whether commenting on the draft post is enabled. */\n commentingEnabled?: boolean | null;\n /**\n * Estimated reading time of the draft post (calculated automatically).\n * @readonly\n */\n minutesToRead?: number;\n /** Image placed at the top of the blog page. */\n heroImage?: string;\n /**\n * Tag IDs the draft post is tagged with.\n * @maxSize 30\n * @maxLength 38\n */\n tagIds?: string[];\n /**\n * IDs of posts related to this draft post.\n * @maxSize 3\n * @maxLength 38\n */\n relatedPostIds?: string[];\n /**\n * Pricing plan IDs. Only relevant if a post is assigned to a specific pricing plan. See the Pricing Plans API for more info.\n * @maxSize 100\n * @format GUID\n */\n pricingPlanIds?: string[];\n /**\n * ID of the draft post's translations.\n *\n * All translations of a single post share the same `translationId`.\n * Available only if the [Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) app is installed.\n * @format GUID\n */\n translationId?: string | null;\n /**\n * Language the draft post is written in.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Draft Post rich content.\n *\n * <widget src=\"https://apps.wix.com/_serverless/ricos-playground-services/goto/api-component\" plugins=\"image.gallery.video.audio.divider.linkButton.html.giphy.codeBlock.file.hashtag.lineSpacing.indent.link.textColor.textHighlight.heading.verticalEmbed.table.collapsibleList.poll\" exampleid=\"72c23a25-524f-4f70-a260-4a2777b6f5d5\">\n * <a href=\"https://dev.wix.com/docs/ricos/api-reference/ricos-document\">See Ricos document reference</a>\n * </widget>\n */\n richContent?: RichContent;\n /**\n * Status of the draft post.\n * @readonly\n */\n status?: Status;\n /** Details of the draft post in review. Only relevant to posts submitted by guest writers. */\n moderationDetails?: ModerationDetails;\n /**\n * Indicates if there are changes made to the draft post that have not yet been published.\n * @readonly\n */\n hasUnpublishedChanges?: boolean;\n /**\n * Date the draft post was last edited.\n * @readonly\n */\n editedDate?: Date | null;\n /**\n * Date the draft post is scheduled to be published.\n * @readonly\n */\n scheduledPublishDate?: Date | null;\n /** Date the post was first published. */\n firstPublishedDate?: Date | null;\n /** SEO data. */\n seoData?: SeoSchema;\n /**\n * Draft post URL preview. What the URL will look like once the post is published.\n * @readonly\n */\n url?: string;\n /**\n * Date the draft post was first created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * SEO slug.\n * @maxLength 100\n */\n seoSlug?: string | null;\n /** Post cover media. */\n media?: Media;\n /** Number of paragraphs to display in a paid content preview for non-paying users. */\n previewTextParagraph?: number | null;\n}\n\nexport enum Origin {\n UNKNOWN = 'UNKNOWN',\n /** Changed by admin */\n ADMIN = 'ADMIN',\n /** Categories were changed */\n ADD_CATEGORIES = 'ADD_CATEGORIES',\n /** Saved automatically */\n AUTO_SAVE = 'AUTO_SAVE',\n /** Copied from template */\n COPY_TEMPLATE = 'COPY_TEMPLATE',\n /** Imported */\n IMPORT = 'IMPORT',\n /** Imported in bulk */\n IMPORT_BULK = 'IMPORT_BULK',\n /** Imported with html import */\n IMPORT_HTML = 'IMPORT_HTML',\n /** Patch import */\n IMPORT_PATCH = 'IMPORT_PATCH',\n /** Changed language */\n LANGUAGE_CHANGE = 'LANGUAGE_CHANGE',\n /** Saved manually */\n MANUAL_SAVE = 'MANUAL_SAVE',\n /** Affected by migration */\n MIGRATION = 'MIGRATION',\n /** Affected by moderation */\n MODERATION = 'MODERATION',\n /** Moved to trash */\n MOVE_TO_TRASH = 'MOVE_TO_TRASH',\n /** Pricing plans were changed */\n PRICING_PLANS_CHANGE = 'PRICING_PLANS_CHANGE',\n /** Was provisioned */\n PROVISION = 'PROVISION',\n /** Was published */\n PUBLISH = 'PUBLISH',\n /** Owner was reassigned */\n REASSIGN_OWNER = 'REASSIGN_OWNER',\n /** Was reblogged */\n REBLOG = 'REBLOG',\n /** Was restored */\n RESTORE = 'RESTORE',\n /** Reverted to draft */\n REVERT_TO_DRAFT = 'REVERT_TO_DRAFT',\n /** Was translated */\n TRANSLATION = 'TRANSLATION',\n /** Was unpublished */\n UNPUBLISH = 'UNPUBLISH',\n /** Was unscheduled */\n UNSCHEDULE = 'UNSCHEDULE',\n /** New edit session started which updated editing_session_id id */\n NEW_EDIT_SESSION = 'NEW_EDIT_SESSION',\n /** Was scheduled by Later */\n SCHEDULING_SERVICE_SCHEDULE = 'SCHEDULING_SERVICE_SCHEDULE',\n /** Was unscheduled by Later */\n SCHEDULING_SERVICE_UNSCHEDULE = 'SCHEDULING_SERVICE_UNSCHEDULE',\n /** Was published by Later */\n SCHEDULING_SERVICE_PUBLISH = 'SCHEDULING_SERVICE_PUBLISH',\n /** Was scheduled */\n SCHEDULE = 'SCHEDULE',\n /** Was removed from moderation */\n REMOVE_FROM_MODERATION = 'REMOVE_FROM_MODERATION',\n /** Was rejected from moderation */\n REJECT_FROM_MODERATION = 'REJECT_FROM_MODERATION',\n /** Was approved in moderation */\n APPROVE_IN_MODERATION = 'APPROVE_IN_MODERATION',\n /** Tag was deleted */\n DELETE_TAG = 'DELETE_TAG',\n /** Post was pinned */\n PIN = 'PIN',\n /** Post was unpinned */\n UNPIN = 'UNPIN',\n /** Saved automatically by AI tool. */\n AI_AUTO_SAVE = 'AI_AUTO_SAVE',\n}\n\nexport enum Status {\n UNKNOWN = 'UNKNOWN',\n /** Status indicating the draft post is published. */\n PUBLISHED = 'PUBLISHED',\n /** Status indicating the draft post is unpublished. */\n UNPUBLISHED = 'UNPUBLISHED',\n /** Status indicating the draft post is scheduled for publication. */\n SCHEDULED = 'SCHEDULED',\n /** Status indicating the draft post is deleted. */\n DELETED = 'DELETED',\n /** Status indicating the draft post is in review. */\n IN_REVIEW = 'IN_REVIEW',\n}\n\nexport interface DraftPostTranslation {\n /**\n * Post ID.\n * @format GUID\n */\n _id?: string;\n /** Post status. */\n status?: Status;\n /**\n * Language the post is written in.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Post slug. For example, 'post-slug'.\n * @maxLength 100\n */\n slug?: string | null;\n /** SEO data. */\n seoData?: SeoSchema;\n /** Post URL. */\n url?: string;\n}\n\nexport interface GetTotalLikesPerMemberRequest {\n /**\n * Member ID.\n * @format GUID\n */\n memberId?: string;\n}\n\nexport interface GetTotalLikesPerMemberResponse {\n /** The total number of likes of the member. */\n total?: number;\n}\n\nexport interface PostLiked extends PostLikedInitiatorOneOf {\n /**\n * Member ID of person who liked the post (only returned when the member was logged in when liking the post).\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID of person who liked the post when they are not logged in.\n * @format GUID\n */\n anonymousVisitorId?: string | null;\n /**\n * ID of the liked post.\n * @format GUID\n */\n postId?: string;\n}\n\n/** @oneof */\nexport interface PostLikedInitiatorOneOf {\n /**\n * Member ID of person who liked the post (only returned when the member was logged in when liking the post).\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID of person who liked the post when they are not logged in.\n * @format GUID\n */\n anonymousVisitorId?: string | null;\n}\n\nexport interface PostUnliked extends PostUnlikedInitiatorOneOf {\n /**\n * Member ID of person who unliked the post (returned when the member was logged in when unliking the post).\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID of person who unliked the post when they are not logged in.\n * @format GUID\n */\n anonymousVisitorId?: string | null;\n /**\n * ID of the unliked post.\n * @format GUID\n */\n postId?: string;\n}\n\n/** @oneof */\nexport interface PostUnlikedInitiatorOneOf {\n /**\n * Member ID of person who unliked the post (returned when the member was logged in when unliking the post).\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID of person who unliked the post when they are not logged in.\n * @format GUID\n */\n anonymousVisitorId?: string | null;\n}\n\nexport interface PostCountersUpdated extends PostCountersUpdatedInitiatorOneOf {\n /**\n * Member ID of person who triggered the counter update\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID if person that liked the post is not logged in\n * @format GUID\n */\n anonymousVisitorId?: string | null;\n /**\n * ID of the post which counters were updated.\n * @format GUID\n */\n postId?: string;\n /** Field of the updated counter. */\n updatedCounterField?: Field;\n /** New counter value. */\n counter?: number;\n}\n\n/** @oneof */\nexport interface PostCountersUpdatedInitiatorOneOf {\n /**\n * Member ID of person who triggered the counter update\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Visitor ID if person that liked the post is not logged in\n * @format GUID\n */\n anonymousVisitorId?: string | null;\n}\n\nexport enum Field {\n /** Undefined field. */\n UNKNOWN = 'UNKNOWN',\n /** Total comments field. */\n TOTAL_COMMENTS = 'TOTAL_COMMENTS',\n /** Like count field. */\n LIKE_COUNT = 'LIKE_COUNT',\n /** View count field. */\n VIEW_COUNT = 'VIEW_COUNT',\n /** Rating count field. */\n RATING_COUNT = 'RATING_COUNT',\n}\n\nexport interface PostOwnerChanged {}\n\nexport interface InitialPostsCopied {\n /** Number of posts copied. */\n count?: number;\n}\n\nexport interface GetPostRequest {\n /**\n * Post ID.\n * @minLength 1\n * @maxLength 38\n */\n postId: string;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport enum PostFieldField {\n UNKNOWN = 'UNKNOWN',\n /** Includes post URL when present. */\n URL = 'URL',\n /** Includes post content text string when present. */\n CONTENT_TEXT = 'CONTENT_TEXT',\n /** Includes post metrics when present. */\n METRICS = 'METRICS',\n /** Includes SEO data. */\n SEO = 'SEO',\n /** Includes post owner's contact ID. */\n CONTACT_ID = 'CONTACT_ID',\n /** Includes post rich content. */\n RICH_CONTENT = 'RICH_CONTENT',\n /** Includes post reference ID field. */\n REFERENCE_ID = 'REFERENCE_ID',\n}\n\nexport interface GetPostResponse {\n /** Retrieved post info. */\n post?: Post;\n}\n\nexport interface GetPostBySlugRequest {\n /**\n * Slug of the post to retrieve.\n * @minLength 1\n * @maxLength 200\n */\n slug: string;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport interface GetPostBySlugResponse {\n /** Retrieved post info. */\n post?: Post;\n}\n\nexport interface ListPostsRequest {\n /**\n * Whether to return only featured posts.\n *\n * Default: `false`\n */\n featured?: boolean;\n /**\n * Hashtag filter.\n *\n * Pass an array of hashtags to return only posts containing any of the provided hashtags.\n * If omitted, all posts with or without hashtags are returned.\n * @maxSize 100\n * @maxLength 100\n */\n hashtags?: string[];\n /**\n * Category filter.\n *\n * Pass an array of category IDs to return only posts with any of the provided categories.\n * If omitted, all posts with or without associated categories are returned.\n * @maxSize 50\n * @maxLength 38\n */\n categoryIds?: string[];\n /**\n * Tag filter.\n *\n * Pass an array of tag IDs to return only posts with any of the provided tags.\n * If omitted, all posts with or without tags are returned.\n * @maxSize 50\n * @maxLength 38\n */\n tagIds?: string[];\n /**\n * Sorting options.\n *\n * Default: `FEED`\n */\n sort?: GetPostsSort;\n /** Pagination options. */\n paging?: BlogPaging;\n /**\n * Language filter.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * Pass a language to only receive posts that are in that language.\n * If omitted, posts in all languages are returned.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Post owner's member ID.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport enum GetPostsSort {\n /** Ordered by `firstPublishedDate` in descending order with pinned posts first. */\n FEED = 'FEED',\n /** Ordered by `firstPublishedDate` in ascending order. */\n PUBLISHED_DATE_ASC = 'PUBLISHED_DATE_ASC',\n /** Ordered by `firstPublishedDate` in descending order. */\n PUBLISHED_DATE_DESC = 'PUBLISHED_DATE_DESC',\n /** Ordered by total number of views in descending order. */\n VIEW_COUNT = 'VIEW_COUNT',\n /** Ordered by total number of likes in descending order. */\n LIKE_COUNT = 'LIKE_COUNT',\n /** Ordered by `title` in ascening order. */\n TITLE_ASC = 'TITLE_ASC',\n /** Ordered by `title` in descending order. */\n TITLE_DESC = 'TITLE_DESC',\n}\n\nexport interface ListPostsResponse {\n /** List of retrieved posts. */\n posts?: Post[];\n /** Details on the paged set of results returned. */\n metaData?: MetaData;\n}\n\nexport interface QueryPostsRequest {\n /** Query options. */\n query?: PlatformQuery;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrder;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\nexport interface PlatformQuery extends PlatformQueryPagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: Paging;\n /** 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`. */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n * @maxSize 3\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface PlatformQueryPagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: Paging;\n /** 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`. */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Paging {\n /**\n * Number of items to load.\n * @max 100\n */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface CursorPaging {\n /**\n * Number of items to load.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * You can get the relevant cursor token\n * from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 2000\n */\n cursor?: string | null;\n}\n\nexport interface QueryPostsResponse {\n /** List of retrieved posts. */\n posts?: Post[];\n /** Details on the paged set of results returned. */\n pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface PagingMetadataV2 {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Offset that was requested. */\n offset?: number | null;\n /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n total?: number | null;\n /** Flag that indicates the server failed to calculate the `total` field. */\n tooManyToCount?: boolean | null;\n /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n cursors?: Cursors;\n}\n\nexport interface Cursors {\n /**\n * Cursor pointing to next page in the list of results.\n * @maxLength 2000\n */\n next?: string | null;\n /**\n * Cursor pointing to previous page in the list of results.\n * @maxLength 2000\n */\n prev?: string | null;\n}\n\nexport interface GetPostMetricsRequest {\n /**\n * Post ID to retrieve metrics for.\n * @minLength 1\n * @maxLength 38\n */\n postId: string;\n}\n\nexport interface GetPostMetricsResponse {\n /** Retrieved post metrics. */\n metrics?: Metrics;\n}\n\nexport interface BulkGetPostMetricsRequest {\n /**\n * Post IDs.\n * @maxSize 500\n * @maxLength 38\n */\n postIds?: string[];\n}\n\nexport interface BulkGetPostMetricsResponse {\n /** Map of post.id to metrics */\n metrics?: Record<string, Metrics>;\n}\n\nexport interface ViewPostRequest {\n /**\n * Post ID.\n * @minLength 1\n * @maxLength 38\n */\n postId?: string;\n}\n\nexport interface ViewPostResponse {\n /** Total number of post views */\n views?: number;\n}\n\nexport interface LikePostRequest {\n /**\n * Post ID.\n * @minLength 1\n * @format GUID\n */\n postId?: string;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport interface LikePostResponse {\n /** Post info. */\n post?: Post;\n}\n\nexport interface UnlikePostRequest {\n /**\n * Post ID.\n * @minLength 1\n * @format GUID\n */\n postId?: string;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport interface UnlikePostResponse {\n /** Post info. */\n post?: Post;\n}\n\nexport interface PinPostRequest {\n /**\n * Post ID.\n * @minLength 1\n * @format GUID\n */\n postId?: string;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport interface PinPostResponse {\n /** Post info. */\n post?: Post;\n}\n\nexport interface UnpinPostRequest {\n /**\n * Post ID.\n * @minLength 1\n * @format GUID\n */\n postId?: string;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport interface UnpinPostResponse {\n /** Post info. */\n post?: Post;\n}\n\nexport interface ListPostsArchiveRequest {\n /**\n * Month\n * @min 1\n * @max 12\n */\n month?: number | null;\n /**\n * Year\n * @min 2000\n * @max 3000\n */\n year?: number;\n /**\n * Time zone\n * @maxLength 50\n */\n timeZone?: string | null;\n /** Pagination options. */\n paging?: BlogPaging;\n /**\n * Language filter.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * Pass a language to only receive posts that are in that language.\n * If omitted, posts in all languages are returned.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport interface ListPostsArchiveResponse {\n /** List of posts. */\n posts?: Post[];\n /** Details on the paged set of results returned. */\n metaData?: MetaData;\n /** Details on the paged set of results returned. */\n pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface BulkGetPostReactionsRequest {\n /**\n * Post IDs.\n * @maxSize 500\n * @maxLength 38\n */\n postIds?: string[];\n}\n\nexport interface BulkGetPostReactionsResponse {\n /** Map of post.id to reactions */\n reactionsMap?: Record<string, Reactions>;\n}\n\nexport interface Reactions {\n /**\n * Is post liked by the current user\n * @readonly\n */\n liked?: boolean;\n}\n\nexport interface ListDemoPostsRequest {\n /**\n * Whether to return only featured posts.\n *\n * Default: `false`\n */\n featured?: boolean;\n /**\n * Hashtag filter.\n *\n * Pass an array of hashtags to return only posts containing any of the provided hashtags.\n * If omitted, all posts with or without hashtags are returned.\n * @maxSize 100\n * @maxLength 100\n */\n hashtags?: string[];\n /**\n * Category filter.\n *\n * Pass an array of category IDs to return only posts with any of the provided categories.\n * If omitted, all posts with or without associated categories are returned.\n * @maxSize 50\n * @format GUID\n */\n categoryIds?: string[];\n /**\n * Tag filter.\n *\n * Pass an array of tag IDs to return only posts with any of the provided tags.\n * If omitted, all posts with or without tags are returned.\n * @maxSize 50\n * @format GUID\n */\n tagIds?: string[];\n /**\n * Sorting options.\n *\n * - `FEED`: Ordered by `firstPublishedDate` in descending order with pinned posts first.\n * - `VIEW_COUNT`: Ordered by total number of views in descending order.\n * - `LIKE_COUNT`: Ordered by total number of likes in descending order.\n * - `PUBLISHED_DATE_ASC`: Ordered by `firstPublishedDate` in ascending order.\n * - `PUBLISHED_DATE_DESC`: Ordered by `firstPublishedDate` in descending order.\n * - `TITLE_ASC`: Ordered by `title` in ascening order.\n * - `TITLE_DESC`: Ordered by `title` in descending order.\n * - `RATING`: reserved for internal use.\n *\n * Default: `FEED`\n */\n sort?: GetPostsSort;\n /** Pagination options. */\n paging?: BlogPaging;\n /**\n * __Deprecated.__ Use `fieldsets` instead.\n * This parameter will be removed on June 30, 2023.\n *\n * List of post fields to be included in the response.\n * @maxSize 20\n * @deprecated __Deprecated.__ Use `fieldsets` instead.\n * This parameter will be removed on June 30, 2023.\n *\n * List of post fields to be included in the response.\n * @replacedBy fieldsets\n * @targetRemovalDate 2024-06-30\n */\n fieldsToInclude?: PostFieldField[];\n /**\n * Language filter.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * Pass a language to only receive posts that are in that language.\n * If omitted, posts in all languages are returned.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Post owner's member ID.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\nexport interface ListDemoPostsResponse {\n /** List of posts. */\n posts?: Post[];\n /** Details on the paged set of results returned. */\n metaData?: MetaData;\n}\n\nexport interface ConvertDraftJsToRichContentRequest {\n /** DraftJs content to convert to Rich content. */\n content?: Record<string, any> | null;\n}\n\nexport interface ConvertDraftJsToRichContentResponse {\n /**\n * Rich content converted from DraftJs content.\n * @maxLength 2000000\n */\n richContent?: string;\n}\n\nexport interface ConvertRichContentToDraftJsRequest {\n /**\n * Rich content to convert to DraftJs content.\n * @maxLength 2000000\n */\n richContent?: string;\n}\n\nexport interface ConvertRichContentToDraftJsResponse {\n /** DraftJs content converted from Rich content. */\n content?: Record<string, any> | null;\n}\n\nexport interface OldBlogMigratedEvent {\n /**\n * Instance id of new version of blog\n * @format GUID\n */\n newBlogInstanceId?: string;\n /**\n * Instance id of old version of blog\n * @format GUID\n */\n oldBlogInstanceId?: string;\n}\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /**\n * Unique event ID.\n * Allows clients to ignore duplicate webhooks.\n */\n _id?: string;\n /**\n * Assumes actions are also always typed to an entity_type\n * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction\n */\n entityFqdn?: string;\n /**\n * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\n * This is although the created/updated/deleted notion is duplication of the oneof types\n * Example: created/updated/deleted/started/completed/email_opened\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number defining the order of updates to the underlying entity.\n * For example, given that some entity was updated at 16:00 and than again at 16:01,\n * it is guaranteed that the sequence number of the second update is strictly higher than the first.\n * As the consumer, you can use this value to ensure that you handle messages in the correct order.\n * To do so, you will need to persist this number on your end, and compare the sequence number from the\n * message against the one you have stored. Given that the stored number is higher, you should ignore the message.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface PostCreatedEnvelope {\n entity: Post;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a post is created.\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @permissionId BLOG.READ-PUBLICATION\n * @webhook\n * @eventType wix.blog.v3.post_created\n * @serviceIdentifier com.wixpress.npm.communities.platformized.blog.v3.PostService\n * @slug created\n */\nexport declare function onPostCreated(\n handler: (event: PostCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface PostDeletedEnvelope {\n entity: Post;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a post is deleted.\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @permissionId BLOG.READ-PUBLICATION\n * @webhook\n * @eventType wix.blog.v3.post_deleted\n * @serviceIdentifier com.wixpress.npm.communities.platformized.blog.v3.PostService\n * @slug deleted\n */\nexport declare function onPostDeleted(\n handler: (event: PostDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface PostLikedEnvelope {\n data: PostLiked;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a post is liked.\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @permissionId BLOG.READ-PUBLICATION\n * @webhook\n * @eventType wix.blog.v3.post_liked\n * @serviceIdentifier com.wixpress.npm.communities.platformized.blog.v3.PostService\n * @slug liked\n */\nexport declare function onPostLiked(\n handler: (event: PostLikedEnvelope) => void | Promise<void>\n): void;\n\nexport interface PostUnlikedEnvelope {\n data: PostUnliked;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a post is unliked.\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @permissionId BLOG.READ-PUBLICATION\n * @webhook\n * @eventType wix.blog.v3.post_unliked\n * @serviceIdentifier com.wixpress.npm.communities.platformized.blog.v3.PostService\n * @slug unliked\n */\nexport declare function onPostUnliked(\n handler: (event: PostUnlikedEnvelope) => void | Promise<void>\n): void;\n\nexport interface PostUpdatedEnvelope {\n entity: Post;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a post is updated.\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @permissionId BLOG.READ-PUBLICATION\n * @webhook\n * @eventType wix.blog.v3.post_updated\n * @serviceIdentifier com.wixpress.npm.communities.platformized.blog.v3.PostService\n * @slug updated\n */\nexport declare function onPostUpdated(\n handler: (event: PostUpdatedEnvelope) => void | Promise<void>\n): void;\n\ntype PostNonNullablePaths =\n | `_id`\n | `title`\n | `excerpt`\n | `slug`\n | `featured`\n | `pinned`\n | `categoryIds`\n | `coverMedia.enabled`\n | `coverMedia.displayed`\n | `coverMedia.custom`\n | `memberId`\n | `hashtags`\n | `commentingEnabled`\n | `minutesToRead`\n | `tagIds`\n | `relatedPostIds`\n | `pricingPlanIds`\n | `seoData.tags`\n | `seoData.tags.${number}.type`\n | `seoData.tags.${number}.children`\n | `seoData.tags.${number}.custom`\n | `seoData.tags.${number}.disabled`\n | `seoData.settings.preventAutoRedirect`\n | `seoData.settings.keywords`\n | `seoData.settings.keywords.${number}.term`\n | `seoData.settings.keywords.${number}.isMain`\n | `richContent.nodes`\n | `richContent.nodes.${number}.buttonData.containerData.width.size`\n | `richContent.nodes.${number}.buttonData.containerData.alignment`\n | `richContent.nodes.${number}.buttonData.type`\n | `richContent.nodes.${number}.buttonData.link.url`\n | `richContent.nodes.${number}.buttonData.link.anchor`\n | `richContent.nodes.${number}.buttonData.link.target`\n | `richContent.nodes.${number}.codeBlockData.textStyle.textAlignment`\n | `richContent.nodes.${number}.dividerData.lineStyle`\n | `richContent.nodes.${number}.dividerData.width`\n | `richContent.nodes.${number}.dividerData.alignment`\n | `richContent.nodes.${number}.fileData.pdfSettings.viewMode`\n | `richContent.nodes.${number}.galleryData.items`\n | `richContent.nodes.${number}.galleryData.options.layout.type`\n | `richContent.nodes.${number}.galleryData.options.layout.orientation`\n | `richContent.nodes.${number}.galleryData.options.item.crop`\n | `richContent.nodes.${number}.galleryData.options.thumbnails.placement`\n | `richContent.nodes.${number}.gifData.height`\n | `richContent.nodes.${number}.gifData.width`\n | `richContent.nodes.${number}.gifData.gifType`\n | `richContent.nodes.${number}.headingData.level`\n | `richContent.nodes.${number}.htmlData.url`\n | `richContent.nodes.${number}.htmlData.html`\n | `richContent.nodes.${number}.htmlData.source`\n | `richContent.nodes.${number}.mapData.mapSettings.mapType`\n | `richContent.nodes.${number}.pollData.poll.options`\n | `richContent.nodes.${number}.pollData.poll.settings.permissions.view`\n | `richContent.nodes.${number}.pollData.poll.settings.permissions.vote`\n | `richContent.nodes.${number}.pollData.layout.poll.type`\n | `richContent.nodes.${number}.pollData.layout.poll.direction`\n | `richContent.nodes.${number}.pollData.design.poll.background.type`\n | `richContent.nodes.${number}.textData.text`\n | `richContent.nodes.${number}.textData.decorations`\n | `richContent.nodes.${number}.textData.decorations.${number}.anchorData.anchor`\n | `richContent.nodes.${number}.textData.decorations.${number}.mentionData.name`\n | `richContent.nodes.${number}.textData.decorations.${number}.mentionData.slug`\n | `richContent.nodes.${number}.textData.decorations.${number}.fontSizeData.unit`\n | `richContent.nodes.${number}.textData.decorations.${number}.type`\n | `richContent.nodes.${number}.appEmbedData.type`\n | `richContent.nodes.${number}.collapsibleListData.initialExpandedItems`\n | `richContent.nodes.${number}.collapsibleListData.direction`\n | `richContent.nodes.${number}.tableData.dimensions.colsWidthRatio`\n | `richContent.nodes.${number}.tableData.dimensions.rowsHeight`\n | `richContent.nodes.${number}.tableData.dimensions.colsMinWidth`\n | `richContent.nodes.${number}.tableCellData.cellStyle.verticalAlignment`\n | `richContent.nodes.${number}.orderedListData.indentation`\n | `richContent.nodes.${number}.bulletedListData.indentation`\n | `richContent.nodes.${number}.blockquoteData.indentation`\n | `richContent.nodes.${number}.type`\n | `richContent.nodes.${number}._id`\n | `richContent.nodes.${number}.nodes`\n | `richContent.metadata.version`\n | `richContent.documentStyle.headerOne.decorations`\n | `preview`\n | `moderationDetails.submittedBy`\n | `moderationDetails.status`\n | `media.embedMedia.thumbnail.url`\n | `media.embedMedia.thumbnail.width`\n | `media.embedMedia.thumbnail.height`\n | `media.embedMedia.video.url`\n | `media.embedMedia.video.width`\n | `media.embedMedia.video.height`\n | `media.displayed`\n | `media.custom`\n | `hasUnpublishedChanges`;\n\n/**\n * Retrieves the number of published posts per month within a specified time range.\n *\n *\n * The `queryPostCountStats()` function returns a Promise that resolves to the number of posts per month within the specified time range.\n *\n * You can set the time range using the `rangeStart` and `months` properties. The time range always starts on the 1st day of the month set in `rangeStart` and includes the number of `months` following `rangeStart`. For example, if `rangeStart` is set to `'2022-03-13'` and `months` is set to `4`, the time range will be from `'2022-03-01'` until `'2022-06-30'`. The time range ends on the last day of the month.\n *\n * >**Note:** If there are no published posts in a specific month, that month is not included in the response. For example, let's say a blog has `0` posts dated in February 2022. If `rangeStart` is set to `'2022-01-01'` and `months` is set to `3`, the response includes `postCount` values for January and March, but not February.\n * @public\n * @documentationMaturity preview\n * @param options - Options specifying time frame, sort, and filter.\n * @permissionId BLOG.READ-PUBLICATION\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @returns Get Blog Post Count Stats response\n * @fqn com.wixpress.npm.communities.platformized.blog.BlogStatsService.QueryPostCountStats\n */\nexport async function queryPostCountStats(\n options?: QueryPostCountStatsOptions\n): Promise<\n NonNullablePaths<\n QueryPostCountStatsResponse,\n `stats` | `stats.${number}.postCount`\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n rangeStart: options?.rangeStart,\n order: options?.order,\n months: options?.months,\n language: options?.language,\n timeZone: options?.timeZone,\n },\n []\n );\n\n const reqOpts = ambassadorWixBlogV3Post.queryPostCountStats(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n rangeStart: '$[0].rangeStart',\n order: '$[0].order',\n months: '$[0].months',\n language: '$[0].language',\n timeZone: '$[0].timeZone',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryPostCountStatsOptions {\n /** Start of time range to return, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time format. */\n rangeStart?: Date | null;\n /**\n * Order of returned results.\n *\n * - `OLDEST`: posts by date in ascending order.\n * - `NEWEST`: posts by date in descending order.\n *\n * Default: `OLDEST`\n */\n order?: Order;\n /** Number of months to include in response. */\n months?: number;\n /**\n * Language filter.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * Pass a language to only receive the period post count for that specified language.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Time zone to use when calculating the start of the month.\n *\n * [UTC timezone offset](https://en.wikipedia.org/wiki/List_of_UTC_offsets) format. For example, New York time zone is `-05`.\n * @minLength 3\n * @maxLength 100\n */\n timeZone?: string | null;\n}\n\n/**\n * Retrieves the total amount of published posts of the blog.\n * @public\n * @documentationMaturity preview\n * @param options - Language Options.\n * @permissionId BLOG.READ-PUBLICATION\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.npm.communities.platformized.blog.BlogStatsService.GetTotalPosts\n */\nexport async function getTotalPosts(\n options?: GetTotalPostsOptions\n): Promise<NonNullablePaths<GetTotalPostsResponse, `total`>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { language: options?.language },\n []\n );\n\n const reqOpts = ambassadorWixBlogV3Post.getTotalPosts(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { language: '$[0].language' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetTotalPostsOptions {\n /**\n * Language filter.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * Pass a language to receive the total amount of posts in that specified language.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n}\n\n/**\n * Retrieves a post by the specified ID.\n * @param postId - Post ID.\n * @public\n * @requiredField postId\n * @param options - Options specifying which fields to return.\n * @permissionId BLOG.READ-PUBLICATION\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.npm.communities.platformized.blog.v3.PostService.GetPost\n */\nexport async function getPost(\n postId: string,\n options?: GetPostOptions\n): Promise<\n NonNullablePaths<\n GetPostResponse,\n { [P in PostNonNullablePaths]: `post.${P}` }[PostNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { postId: postId, fieldsets: options?.fieldsets },\n []\n );\n\n const reqOpts = ambassadorWixBlogV3Post.getPost(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLToSDKPageURL,\n paths: [{ path: 'post.url' }, { path: 'post.translations.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'post.heroImage' },\n { path: 'post.coverMedia.image' },\n { path: 'post.media.wixMedia.image' },\n ],\n },\n {\n transformFn: transformRESTVideoToSDKVideo,\n paths: [{ path: 'post.coverMedia.video' }],\n },\n {\n transformFn: transformRESTVideoV2ToSDKVideoV2,\n paths: [{ path: 'post.media.wixMedia.videoV2' }],\n },\n ]),\n ['post.rich_content']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n postId: '$[0]',\n fieldsets: '$[1].fieldsets',\n },\n singleArgumentUnchanged: false,\n },\n ['postId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetPostOptions {\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\n/**\n * Retrieves a post with the provided slug.\n *\n * The slug is the end of a post's URL that refers to a specific post.\n * For example, if a post's URL is `https:/example.com/blog/post/my-post-slug`,\n * the slug is `my-post-slug`. The slug is case-sensitive, and is generally derived from the post title,\n * unless specified otherwise.\n * @param slug - Slug of the post to retrieve.\n * @public\n * @requiredField slug\n * @param options - Options specifying which fields to return.\n * @permissionId BLOG.READ-PUBLICATION\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.npm.communities.platformized.blog.v3.PostService.GetPostBySlug\n */\nexport async function getPostBySlug(\n slug: string,\n options?: GetPostBySlugOptions\n): Promise<\n NonNullablePaths<\n GetPostBySlugResponse,\n { [P in PostNonNullablePaths]: `post.${P}` }[PostNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { slug: slug, fieldsets: options?.fieldsets },\n []\n );\n\n const reqOpts = ambassadorWixBlogV3Post.getPostBySlug(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLToSDKPageURL,\n paths: [{ path: 'post.url' }, { path: 'post.translations.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'post.heroImage' },\n { path: 'post.coverMedia.image' },\n { path: 'post.media.wixMedia.image' },\n ],\n },\n {\n transformFn: transformRESTVideoToSDKVideo,\n paths: [{ path: 'post.coverMedia.video' }],\n },\n {\n transformFn: transformRESTVideoV2ToSDKVideoV2,\n paths: [{ path: 'post.media.wixMedia.videoV2' }],\n },\n ]),\n ['post.rich_content']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { slug: '$[0]', fieldsets: '$[1].fieldsets' },\n singleArgumentUnchanged: false,\n },\n ['slug', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetPostBySlugOptions {\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\n/**\n * Retrieves a list of up to 100 published posts per request.\n *\n * List Posts runs with these defaults, which you can override:\n * - `firstPublishedDate` is sorted in descending order, with pinned posts first.\n * - `paging.limit` is `50`.\n * - `paging.offset` is `0`.\n * @public\n * @param options - Sort, filter, and paging options.\n * @permissionId BLOG.READ-PUBLICATION\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.npm.communities.platformized.blog.v3.PostService.ListPosts\n */\nexport async function listPosts(\n options?: ListPostsOptions\n): Promise<\n NonNullablePaths<\n ListPostsResponse,\n | {\n [P in PostNonNullablePaths]: `posts.${number}.${P}`;\n }[PostNonNullablePaths]\n | `metaData.count`\n | `metaData.offset`\n | `metaData.total`\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n featured: options?.featured,\n hashtags: options?.hashtags,\n categoryIds: options?.categoryIds,\n tagIds: options?.tagIds,\n sort: options?.sort,\n paging: options?.paging,\n language: options?.language,\n memberId: options?.memberId,\n fieldsets: options?.fieldsets,\n },\n []\n );\n\n const reqOpts = ambassadorWixBlogV3Post.listPosts(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLToSDKPageURL,\n paths: [{ path: 'posts.url' }, { path: 'posts.translations.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'posts.heroImage' },\n { path: 'posts.coverMedia.image' },\n { path: 'posts.media.wixMedia.image' },\n ],\n },\n {\n transformFn: transformRESTVideoToSDKVideo,\n paths: [{ path: 'posts.coverMedia.video' }],\n },\n {\n transformFn: transformRESTVideoV2ToSDKVideoV2,\n paths: [{ path: 'posts.media.wixMedia.videoV2' }],\n },\n ]),\n ['posts.rich_content']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n featured: '$[0].featured',\n hashtags: '$[0].hashtags',\n categoryIds: '$[0].categoryIds',\n tagIds: '$[0].tagIds',\n sort: '$[0].sort',\n paging: '$[0].paging',\n language: '$[0].language',\n memberId: '$[0].memberId',\n fieldsets: '$[0].fieldsets',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListPostsOptions {\n /**\n * Whether to return only featured posts.\n *\n * Default: `false`\n */\n featured?: boolean;\n /**\n * Hashtag filter.\n *\n * Pass an array of hashtags to return only posts containing any of the provided hashtags.\n * If omitted, all posts with or without hashtags are returned.\n * @maxSize 100\n * @maxLength 100\n */\n hashtags?: string[];\n /**\n * Category filter.\n *\n * Pass an array of category IDs to return only posts with any of the provided categories.\n * If omitted, all posts with or without associated categories are returned.\n * @maxSize 50\n * @maxLength 38\n */\n categoryIds?: string[];\n /**\n * Tag filter.\n *\n * Pass an array of tag IDs to return only posts with any of the provided tags.\n * If omitted, all posts with or without tags are returned.\n * @maxSize 50\n * @maxLength 38\n */\n tagIds?: string[];\n /**\n * Sorting options.\n *\n * Default: `FEED`\n */\n sort?: GetPostsSort;\n /** Pagination options. */\n paging?: BlogPaging;\n /**\n * Language filter.\n *\n * 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\n * Pass a language to only receive posts that are in that language.\n * If omitted, posts in all languages are returned.\n * @format LANGUAGE_TAG\n */\n language?: string | null;\n /**\n * Post owner's member ID.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[];\n}\n\n/**\n * Creates a query to retrieve a list of posts.\n *\n *\n * The `queryPosts()` function builds a query to retrieve a list of up to 100 posts, and returns a `PostsQueryBuilder` object.\n *\n * The returned object contains the query definition which is typically used to run the query using the `find()` function.\n *\n * You can refine the query by chaining `PostsQueryBuilder` functions onto the query. `PostsQueryBuilder` functions enable you to sort, filter, and control the results that `queryPosts()` returns.\n *\n * `queryPosts()` runs with these `PostsQueryBuilder` defaults that you can override:\n * + `limit(50)`\n * + `descending('firstPublishedDate')`\n *\n * Note that the default limit is `'50'`, but the max limit is `'100'`.\n *\n * To learn how to query posts, refer to the table below.\n *\n * The following `PostsQueryBuilder` functions are supported for the `queryPosts()` function. For a full description of the Posts object, see the object returned for the `items` property in `PostsQueryResult`.\n * @public\n * @param options - Options specifying which fields to return.\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @permissionId BLOG.READ-PUBLICATION\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.npm.communities.platformized.blog.v3.PostService.QueryPosts\n */\nexport function queryPosts(options?: QueryPostsOptions): PostsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<Post, 'CURSOR', QueryPostsRequest, QueryPostsResponse>({\n func: async (payload: QueryPostsRequest) => {\n const reqOpts = ambassadorWixBlogV3Post.queryPosts({\n ...payload,\n ...(options ?? {}),\n });\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryPostsRequest['query']) => {\n const args = [query, options] as [\n QueryPostsRequest['query'],\n QueryPostsOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest(\n { ...args?.[1], query: args?.[0] },\n []\n );\n },\n responseTransformer: ({ data }: HttpResponse<QueryPostsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [\n {\n transformFn: transformRESTPageURLToSDKPageURL,\n paths: [{ path: 'posts.url' }, { path: 'posts.translations.url' }],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'posts.heroImage' },\n { path: 'posts.coverMedia.image' },\n { path: 'posts.media.wixMedia.image' },\n ],\n },\n {\n transformFn: transformRESTVideoToSDKVideo,\n paths: [{ path: 'posts.coverMedia.video' }],\n },\n {\n transformFn: transformRESTVideoV2ToSDKVideoV2,\n paths: [{ path: 'posts.media.wixMedia.videoV2' }],\n },\n ]),\n ['posts.rich_content']\n );\n\n return {\n items: transformedData?.posts,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\nexport interface QueryPostsOptions {\n /**\n * List of additional post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in\n * the response in addition to the post’s base fields. Base fields don’t include any of the supported fieldset values. By default\n * only the post’s base fields are returned.\n * @maxSize 20\n */\n fieldsets?: PostFieldField[] | undefined;\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface PostsQueryResult extends QueryCursorResult {\n items: Post[];\n query: PostsQueryBuilder;\n next: () => Promise<PostsQueryResult>;\n prev: () => Promise<PostsQueryResult>;\n}\n\nexport interface PostsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | 'title'\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'slug'\n | 'featured'\n | 'pinned'\n | 'coverMedia.enabled'\n | 'memberId'\n | 'commentingEnabled'\n | 'minutesToRead'\n | 'translationId'\n | 'language'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views',\n value: any\n ) => PostsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | 'title'\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'slug'\n | 'featured'\n | 'pinned'\n | 'coverMedia.enabled'\n | 'memberId'\n | 'commentingEnabled'\n | 'minutesToRead'\n | 'translationId'\n | 'language'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views',\n value: any\n ) => PostsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName:\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'minutesToRead'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views',\n value: any\n ) => PostsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName:\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'minutesToRead'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views',\n value: any\n ) => PostsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName:\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'minutesToRead'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views',\n value: any\n ) => PostsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName:\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'minutesToRead'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views',\n value: any\n ) => PostsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n */\n startsWith: (propertyName: 'title', value: string) => PostsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n */\n hasSome: (\n propertyName:\n | '_id'\n | 'title'\n | 'slug'\n | 'categoryIds'\n | 'memberId'\n | 'hashtags'\n | 'tagIds'\n | 'pricingPlanIds'\n | 'language',\n value: any[]\n ) => PostsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n */\n hasAll: (\n propertyName: 'categoryIds' | 'hashtags' | 'tagIds' | 'pricingPlanIds',\n value: any[]\n ) => PostsQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | 'title'\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'minutesToRead'\n | 'translationId'\n | 'language'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views',\n value: any\n ) => PostsQueryBuilder;\n exists: (\n propertyName: 'title' | 'translationId' | 'language',\n value: boolean\n ) => PostsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | 'title'\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'slug'\n | 'featured'\n | 'pinned'\n | 'commentingEnabled'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views'\n >\n ) => PostsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | 'title'\n | 'firstPublishedDate'\n | 'lastPublishedDate'\n | 'slug'\n | 'featured'\n | 'pinned'\n | 'commentingEnabled'\n | 'metrics.comments'\n | 'metrics.likes'\n | 'metrics.views'\n >\n ) => PostsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => PostsQueryBuilder;\n /** @param cursor - A pointer to specific record */\n skipTo: (cursor: string) => PostsQueryBuilder;\n find: () => Promise<PostsQueryResult>;\n}\n\n/**\n * Retrieves a post's metrics.\n *\n * A post's metrics include the comments, likes, and views the post receives.\n * @param postId - Post ID to retrieve metrics for.\n * @public\n * @requiredField postId\n * @permissionId BLOG.READ-PUBLICATION\n * @permissionScope Read Blog\n * @permissionScopeId SCOPE.DC-BLOG.READ-BLOGS\n * @permissionScope Manage Blog\n * @permissionScopeId SCOPE.DC-BLOG.MANAGE-BLOG\n * @permissionScope Read Draft Blog Posts\n * @permissionScopeId SCOPE.DC-BLOG.READ-DRAFT-POSTS\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.npm.communities.platformized.blog.v3.PostService.GetPostMetrics\n */\nexport async function getPostMetrics(\n postId: string\n): Promise<\n NonNullablePaths<\n GetPostMetricsResponse,\n `metrics.comments` | `metrics.likes` | `metrics.views`\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ postId: postId }, []);\n\n const reqOpts = ambassadorWixBlogV3Post.getPostMetrics(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { postId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['postId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTBytesToSDKBytes } from '@wix/sdk-runtime/transformations/bytes';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressNpmCommunitiesPlatformizedBlogV3PostServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v2/stats',\n destPath: '/v2/stats',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v2/stats',\n destPath: '/v2/stats',\n },\n ],\n _: [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api/_api/blogs/this',\n destPath: '/_api/blogs/this',\n },\n {\n srcPath: '/_api/communities-blog-node-api/_api/categories',\n destPath: '/_api/categories',\n },\n {\n srcPath: '/_api/communities-blog-node-api/_api/site-properties',\n destPath: '/_api/site-properties',\n },\n {\n srcPath: '/_api/communities-blog-node-api/_api/posts/content',\n destPath: '/_api/posts/content',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v2/stats',\n destPath: '/v2/stats',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n '*.pub.wix-code.com': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'social-blog._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'dev._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/blog/v2',\n destPath: '/v2',\n },\n {\n srcPath: '/blog/v3',\n destPath: '/v3',\n },\n {\n srcPath: '/v2/stats',\n destPath: '/v2/stats',\n },\n {\n srcPath: '/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/blog/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/blog/v2/stats',\n destPath: '/v2/stats',\n },\n {\n srcPath: '/_api/v3/posts',\n destPath: '/v3/posts',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nfunction resolveComWixpressNpmCommunitiesPlatformizedBlogBlogStatsServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'api._api_base_domain_': [\n {\n srcPath: '/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v2/stats',\n destPath: '/v2/stats',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v2/stats',\n destPath: '/v2/stats',\n },\n ],\n _: [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api/_api/blogs/this',\n destPath: '/_api/blogs/this',\n },\n {\n srcPath: '/_api/communities-blog-node-api/_api/categories',\n destPath: '/_api/categories',\n },\n {\n srcPath: '/_api/communities-blog-node-api/_api/site-properties',\n destPath: '/_api/site-properties',\n },\n {\n srcPath: '/_api/communities-blog-node-api/_api/posts/content',\n destPath: '/_api/posts/content',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/_api/communities-blog-node-api/v2/stats',\n destPath: '/v2/stats',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n '*.pub.wix-code.com': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'social-blog._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'dev._base_domain_': [\n {\n srcPath: '/_api/communities-blog-node-api',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/blog/v2',\n destPath: '/v2',\n },\n {\n srcPath: '/blog/v3',\n destPath: '/v3',\n },\n {\n srcPath: '/v2/stats',\n destPath: '/v2/stats',\n },\n {\n srcPath: '/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/blog/v3/posts',\n destPath: '/v3/posts',\n },\n {\n srcPath: '/blog/v2/stats',\n destPath: '/v2/stats',\n },\n {\n srcPath: '/_api/v3/posts',\n destPath: '/v3/posts',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_blog_posts';\n\n/**\n * Retrieves the number of published posts per month within a specified time range.\n *\n *\n * The `queryPostCountStats()` function returns a Promise that resolves to the number of posts per month within the specified time range.\n *\n * You can set the time range using the `rangeStart` and `months` properties. The time range always starts on the 1st day of the month set in `rangeStart` and includes the number of `months` following `rangeStart`. For example, if `rangeStart` is set to `'2022-03-13'` and `months` is set to `4`, the time range will be from `'2022-03-01'` until `'2022-06-30'`. The time range ends on the last day of the month.\n *\n * >**Note:** If there are no published posts in a specific month, that month is not included in the response. For example, let's say a blog has `0` posts dated in February 2022. If `rangeStart` is set to `'2022-01-01'` and `months` is set to `3`, the response includes `postCount` values for January and March, but not February.\n */\nexport function queryPostCountStats(\n payload: object\n): RequestOptionsFactory<any> {\n function __queryPostCountStats({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'rangeStart' }, { path: 'rangeEnd' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.blog.v3.post',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.npm.communities.platformized.blog.BlogStatsService.QueryPostCountStats',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressNpmCommunitiesPlatformizedBlogBlogStatsServiceUrl({\n protoPath: '/v2/stats/post/count',\n data: serializedData,\n host,\n }),\n params: toURLSearchParams(serializedData),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'stats.periodStart' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryPostCountStats;\n}\n\n/** Retrieves the total amount of published posts of the blog. */\nexport function getTotalPosts(payload: object): RequestOptionsFactory<any> {\n function __getTotalPosts({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.blog.v3.post',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.npm.communities.platformized.blog.BlogStatsService.GetTotalPosts',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressNpmCommunitiesPlatformizedBlogBlogStatsServiceUrl({\n protoPath: '/v2/stats/posts/total',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getTotalPosts;\n}\n\n/** Retrieves a post by the specified ID. */\nexport function getPost(payload: object): RequestOptionsFactory<any> {\n function __getPost({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.blog.v3.post',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.npm.communities.platformized.blog.v3.PostService.GetPost',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressNpmCommunitiesPlatformizedBlogV3PostServiceUrl({\n protoPath: '/v3/posts/{postId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'post.firstPublishedDate' },\n { path: 'post.lastPublishedDate' },\n { path: 'post.coverMedia.image.urlExpirationDate' },\n { path: 'post.coverMedia.video.thumbnail.urlExpirationDate' },\n { path: 'post.heroImage.urlExpirationDate' },\n { path: 'post.richContent.metadata.createdTimestamp' },\n { path: 'post.richContent.metadata.updatedTimestamp' },\n { path: 'post.moderationDetails.submittedDate' },\n { path: 'post.moderationDetails.moderationDate' },\n { path: 'post.media.wixMedia.image.urlExpirationDate' },\n { path: 'post.media.wixMedia.videoV2.urlExpirationDate' },\n {\n path: 'post.media.wixMedia.videoV2.resolutions.urlExpirationDate',\n },\n {\n path: 'post.media.wixMedia.videoV2.resolutions.poster.urlExpirationDate',\n },\n { path: 'post.media.wixMedia.videoV2.posters.urlExpirationDate' },\n ],\n },\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'post.richContentCompressed' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'post.coverMedia.image.focalPoint.x' },\n { path: 'post.coverMedia.image.focalPoint.y' },\n { path: 'post.coverMedia.video.thumbnail.focalPoint.x' },\n { path: 'post.coverMedia.video.thumbnail.focalPoint.y' },\n { path: 'post.heroImage.focalPoint.x' },\n { path: 'post.heroImage.focalPoint.y' },\n { path: 'post.media.wixMedia.image.focalPoint.x' },\n { path: 'post.media.wixMedia.image.focalPoint.y' },\n {\n path: 'post.media.wixMedia.videoV2.resolutions.poster.focalPoint.x',\n },\n {\n path: 'post.media.wixMedia.videoV2.resolutions.poster.focalPoint.y',\n },\n { path: 'post.media.wixMedia.videoV2.posters.focalPoint.x' },\n { path: 'post.media.wixMedia.videoV2.posters.focalPoint.y' },\n { path: 'post.metrics.averageRating' },\n {\n path: 'post.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'post.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'post.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n { path: 'post.richContent.nodes.galleryData.options.item.ratio' },\n { path: 'post.richContent.nodes.imageData.image.duration' },\n { path: 'post.richContent.nodes.mapData.mapSettings.lat' },\n { path: 'post.richContent.nodes.mapData.mapSettings.lng' },\n { path: 'post.richContent.nodes.pollData.poll.image.duration' },\n {\n path: 'post.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'post.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n { path: 'post.richContent.nodes.appEmbedData.image.duration' },\n { path: 'post.richContent.nodes.videoData.video.duration' },\n { path: 'post.richContent.nodes.videoData.thumbnail.duration' },\n { path: 'post.richContent.nodes.audioData.audio.duration' },\n { path: 'post.richContent.nodes.audioData.coverImage.duration' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getPost;\n}\n\n/**\n * Retrieves a post with the provided slug.\n *\n * The slug is the end of a post's URL that refers to a specific post.\n * For example, if a post's URL is `https:/example.com/blog/post/my-post-slug`,\n * the slug is `my-post-slug`. The slug is case-sensitive, and is generally derived from the post title,\n * unless specified otherwise.\n */\nexport function getPostBySlug(payload: object): RequestOptionsFactory<any> {\n function __getPostBySlug({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.blog.v3.post',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.npm.communities.platformized.blog.v3.PostService.GetPostBySlug',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressNpmCommunitiesPlatformizedBlogV3PostServiceUrl({\n protoPath: '/v3/posts/slugs/{slug}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'post.firstPublishedDate' },\n { path: 'post.lastPublishedDate' },\n { path: 'post.coverMedia.image.urlExpirationDate' },\n { path: 'post.coverMedia.video.thumbnail.urlExpirationDate' },\n { path: 'post.heroImage.urlExpirationDate' },\n { path: 'post.richContent.metadata.createdTimestamp' },\n { path: 'post.richContent.metadata.updatedTimestamp' },\n { path: 'post.moderationDetails.submittedDate' },\n { path: 'post.moderationDetails.moderationDate' },\n { path: 'post.media.wixMedia.image.urlExpirationDate' },\n { path: 'post.media.wixMedia.videoV2.urlExpirationDate' },\n {\n path: 'post.media.wixMedia.videoV2.resolutions.urlExpirationDate',\n },\n {\n path: 'post.media.wixMedia.videoV2.resolutions.poster.urlExpirationDate',\n },\n { path: 'post.media.wixMedia.videoV2.posters.urlExpirationDate' },\n ],\n },\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'post.richContentCompressed' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'post.coverMedia.image.focalPoint.x' },\n { path: 'post.coverMedia.image.focalPoint.y' },\n { path: 'post.coverMedia.video.thumbnail.focalPoint.x' },\n { path: 'post.coverMedia.video.thumbnail.focalPoint.y' },\n { path: 'post.heroImage.focalPoint.x' },\n { path: 'post.heroImage.focalPoint.y' },\n { path: 'post.media.wixMedia.image.focalPoint.x' },\n { path: 'post.media.wixMedia.image.focalPoint.y' },\n {\n path: 'post.media.wixMedia.videoV2.resolutions.poster.focalPoint.x',\n },\n {\n path: 'post.media.wixMedia.videoV2.resolutions.poster.focalPoint.y',\n },\n { path: 'post.media.wixMedia.videoV2.posters.focalPoint.x' },\n { path: 'post.media.wixMedia.videoV2.posters.focalPoint.y' },\n { path: 'post.metrics.averageRating' },\n {\n path: 'post.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'post.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'post.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n { path: 'post.richContent.nodes.galleryData.options.item.ratio' },\n { path: 'post.richContent.nodes.imageData.image.duration' },\n { path: 'post.richContent.nodes.mapData.mapSettings.lat' },\n { path: 'post.richContent.nodes.mapData.mapSettings.lng' },\n { path: 'post.richContent.nodes.pollData.poll.image.duration' },\n {\n path: 'post.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'post.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n { path: 'post.richContent.nodes.appEmbedData.image.duration' },\n { path: 'post.richContent.nodes.videoData.video.duration' },\n { path: 'post.richContent.nodes.videoData.thumbnail.duration' },\n { path: 'post.richContent.nodes.audioData.audio.duration' },\n { path: 'post.richContent.nodes.audioData.coverImage.duration' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getPostBySlug;\n}\n\n/**\n * Retrieves a list of up to 100 published posts per request.\n *\n * List Posts runs with these defaults, which you can override:\n * - `firstPublishedDate` is sorted in descending order, with pinned posts first.\n * - `paging.limit` is `50`.\n * - `paging.offset` is `0`.\n */\nexport function listPosts(payload: object): RequestOptionsFactory<any> {\n function __listPosts({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.blog.v3.post',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.npm.communities.platformized.blog.v3.PostService.ListPosts',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressNpmCommunitiesPlatformizedBlogV3PostServiceUrl({\n protoPath: '/v3/posts',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'posts.firstPublishedDate' },\n { path: 'posts.lastPublishedDate' },\n { path: 'posts.coverMedia.image.urlExpirationDate' },\n { path: 'posts.coverMedia.video.thumbnail.urlExpirationDate' },\n { path: 'posts.heroImage.urlExpirationDate' },\n { path: 'posts.richContent.metadata.createdTimestamp' },\n { path: 'posts.richContent.metadata.updatedTimestamp' },\n { path: 'posts.moderationDetails.submittedDate' },\n { path: 'posts.moderationDetails.moderationDate' },\n { path: 'posts.media.wixMedia.image.urlExpirationDate' },\n { path: 'posts.media.wixMedia.videoV2.urlExpirationDate' },\n {\n path: 'posts.media.wixMedia.videoV2.resolutions.urlExpirationDate',\n },\n {\n path: 'posts.media.wixMedia.videoV2.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'posts.media.wixMedia.videoV2.posters.urlExpirationDate',\n },\n ],\n },\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'posts.richContentCompressed' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'posts.coverMedia.image.focalPoint.x' },\n { path: 'posts.coverMedia.image.focalPoint.y' },\n { path: 'posts.coverMedia.video.thumbnail.focalPoint.x' },\n { path: 'posts.coverMedia.video.thumbnail.focalPoint.y' },\n { path: 'posts.heroImage.focalPoint.x' },\n { path: 'posts.heroImage.focalPoint.y' },\n { path: 'posts.media.wixMedia.image.focalPoint.x' },\n { path: 'posts.media.wixMedia.image.focalPoint.y' },\n {\n path: 'posts.media.wixMedia.videoV2.resolutions.poster.focalPoint.x',\n },\n {\n path: 'posts.media.wixMedia.videoV2.resolutions.poster.focalPoint.y',\n },\n { path: 'posts.media.wixMedia.videoV2.posters.focalPoint.x' },\n { path: 'posts.media.wixMedia.videoV2.posters.focalPoint.y' },\n { path: 'posts.metrics.averageRating' },\n {\n path: 'posts.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'posts.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'posts.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'posts.richContent.nodes.galleryData.options.item.ratio',\n },\n { path: 'posts.richContent.nodes.imageData.image.duration' },\n { path: 'posts.richContent.nodes.mapData.mapSettings.lat' },\n { path: 'posts.richContent.nodes.mapData.mapSettings.lng' },\n { path: 'posts.richContent.nodes.pollData.poll.image.duration' },\n {\n path: 'posts.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'posts.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n { path: 'posts.richContent.nodes.appEmbedData.image.duration' },\n { path: 'posts.richContent.nodes.videoData.video.duration' },\n { path: 'posts.richContent.nodes.videoData.thumbnail.duration' },\n { path: 'posts.richContent.nodes.audioData.audio.duration' },\n { path: 'posts.richContent.nodes.audioData.coverImage.duration' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listPosts;\n}\n\n/**\n * Creates a query to retrieve a list of posts.\n *\n *\n * The `queryPosts()` function builds a query to retrieve a list of up to 100 posts, and returns a `PostsQueryBuilder` object.\n *\n * The returned object contains the query definition which is typically used to run the query using the `find()` function.\n *\n * You can refine the query by chaining `PostsQueryBuilder` functions onto the query. `PostsQueryBuilder` functions enable you to sort, filter, and control the results that `queryPosts()` returns.\n *\n * `queryPosts()` runs with these `PostsQueryBuilder` defaults that you can override:\n * + `limit(50)`\n * + `descending('firstPublishedDate')`\n *\n * Note that the default limit is `'50'`, but the max limit is `'100'`.\n *\n * To learn how to query posts, refer to the table below.\n *\n * The following `PostsQueryBuilder` functions are supported for the `queryPosts()` function. For a full description of the Posts object, see the object returned for the `items` property in `PostsQueryResult`.\n */\nexport function queryPosts(payload: object): RequestOptionsFactory<any> {\n function __queryPosts({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.blog.v3.post',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.npm.communities.platformized.blog.v3.PostService.QueryPosts',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressNpmCommunitiesPlatformizedBlogV3PostServiceUrl({\n protoPath: '/v3/posts/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'posts.firstPublishedDate' },\n { path: 'posts.lastPublishedDate' },\n { path: 'posts.coverMedia.image.urlExpirationDate' },\n { path: 'posts.coverMedia.video.thumbnail.urlExpirationDate' },\n { path: 'posts.heroImage.urlExpirationDate' },\n { path: 'posts.richContent.metadata.createdTimestamp' },\n { path: 'posts.richContent.metadata.updatedTimestamp' },\n { path: 'posts.moderationDetails.submittedDate' },\n { path: 'posts.moderationDetails.moderationDate' },\n { path: 'posts.media.wixMedia.image.urlExpirationDate' },\n { path: 'posts.media.wixMedia.videoV2.urlExpirationDate' },\n {\n path: 'posts.media.wixMedia.videoV2.resolutions.urlExpirationDate',\n },\n {\n path: 'posts.media.wixMedia.videoV2.resolutions.poster.urlExpirationDate',\n },\n {\n path: 'posts.media.wixMedia.videoV2.posters.urlExpirationDate',\n },\n ],\n },\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: [{ path: 'posts.richContentCompressed' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'posts.coverMedia.image.focalPoint.x' },\n { path: 'posts.coverMedia.image.focalPoint.y' },\n { path: 'posts.coverMedia.video.thumbnail.focalPoint.x' },\n { path: 'posts.coverMedia.video.thumbnail.focalPoint.y' },\n { path: 'posts.heroImage.focalPoint.x' },\n { path: 'posts.heroImage.focalPoint.y' },\n { path: 'posts.media.wixMedia.image.focalPoint.x' },\n { path: 'posts.media.wixMedia.image.focalPoint.y' },\n {\n path: 'posts.media.wixMedia.videoV2.resolutions.poster.focalPoint.x',\n },\n {\n path: 'posts.media.wixMedia.videoV2.resolutions.poster.focalPoint.y',\n },\n { path: 'posts.media.wixMedia.videoV2.posters.focalPoint.x' },\n { path: 'posts.media.wixMedia.videoV2.posters.focalPoint.y' },\n { path: 'posts.metrics.averageRating' },\n {\n path: 'posts.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'posts.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'posts.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'posts.richContent.nodes.galleryData.options.item.ratio',\n },\n { path: 'posts.richContent.nodes.imageData.image.duration' },\n { path: 'posts.richContent.nodes.mapData.mapSettings.lat' },\n { path: 'posts.richContent.nodes.mapData.mapSettings.lng' },\n { path: 'posts.richContent.nodes.pollData.poll.image.duration' },\n {\n path: 'posts.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'posts.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n { path: 'posts.richContent.nodes.appEmbedData.image.duration' },\n { path: 'posts.richContent.nodes.videoData.video.duration' },\n { path: 'posts.richContent.nodes.videoData.thumbnail.duration' },\n { path: 'posts.richContent.nodes.audioData.audio.duration' },\n { path: 'posts.richContent.nodes.audioData.coverImage.duration' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryPosts;\n}\n\n/**\n * Retrieves a post's metrics.\n *\n * A post's metrics include the comments, likes, and views the post receives.\n */\nexport function getPostMetrics(payload: object): RequestOptionsFactory<any> {\n function __getPostMetrics({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.blog.v3.post',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.npm.communities.platformized.blog.v3.PostService.GetPostMetrics',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressNpmCommunitiesPlatformizedBlogV3PostServiceUrl({\n protoPath: '/v3/posts/{postId}/metrics',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'metrics.averageRating' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getPostMetrics;\n}\n","import {\n queryPostCountStats as publicQueryPostCountStats,\n getTotalPosts as publicGetTotalPosts,\n getPost as publicGetPost,\n getPostBySlug as publicGetPostBySlug,\n listPosts as publicListPosts,\n queryPosts as publicQueryPosts,\n getPostMetrics as publicGetPostMetrics,\n} from './blog-v3-post-posts.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\nimport { onPostCreated as publicOnPostCreated } from './blog-v3-post-posts.public.js';\nimport { onPostDeleted as publicOnPostDeleted } from './blog-v3-post-posts.public.js';\nimport { onPostLiked as publicOnPostLiked } from './blog-v3-post-posts.public.js';\nimport { onPostUnliked as publicOnPostUnliked } from './blog-v3-post-posts.public.js';\nimport { onPostUpdated as publicOnPostUpdated } from './blog-v3-post-posts.public.js';\n\nexport const queryPostCountStats: MaybeContext<\n BuildRESTFunction<typeof publicQueryPostCountStats> &\n typeof publicQueryPostCountStats\n> = /*#__PURE__*/ createRESTModule(publicQueryPostCountStats);\nexport const getTotalPosts: MaybeContext<\n BuildRESTFunction<typeof publicGetTotalPosts> & typeof publicGetTotalPosts\n> = /*#__PURE__*/ createRESTModule(publicGetTotalPosts);\nexport const getPost: MaybeContext<\n BuildRESTFunction<typeof publicGetPost> & typeof publicGetPost\n> = /*#__PURE__*/ createRESTModule(publicGetPost);\nexport const getPostBySlug: MaybeContext<\n BuildRESTFunction<typeof publicGetPostBySlug> & typeof publicGetPostBySlug\n> = /*#__PURE__*/ createRESTModule(publicGetPostBySlug);\nexport const listPosts: MaybeContext<\n BuildRESTFunction<typeof publicListPosts> & typeof publicListPosts\n> = /*#__PURE__*/ createRESTModule(publicListPosts);\nexport const queryPosts: MaybeContext<\n BuildRESTFunction<typeof publicQueryPosts> & typeof publicQueryPosts\n> = /*#__PURE__*/ createRESTModule(publicQueryPosts);\nexport const getPostMetrics: MaybeContext<\n BuildRESTFunction<typeof publicGetPostMetrics> & typeof publicGetPostMetrics\n> = /*#__PURE__*/ createRESTModule(publicGetPostMetrics);\n/**\n * Triggered when a post is created.\n */\nexport const onPostCreated: ReturnType<\n typeof createEventModule<typeof publicOnPostCreated>\n> = createEventModule(publicOnPostCreated);\n/**\n * Triggered when a post is deleted.\n */\nexport const onPostDeleted: ReturnType<\n typeof createEventModule<typeof publicOnPostDeleted>\n> = createEventModule(publicOnPostDeleted);\n/**\n * Triggered when a post is liked.\n */\nexport const onPostLiked: ReturnType<\n typeof createEventModule<typeof publicOnPostLiked>\n> = createEventModule(publicOnPostLiked);\n/**\n * Triggered when a post is unliked.\n */\nexport const onPostUnliked: ReturnType<\n typeof createEventModule<typeof publicOnPostUnliked>\n> = createEventModule(publicOnPostUnliked);\n/**\n * Triggered when a post is updated.\n */\nexport const onPostUpdated: ReturnType<\n typeof createEventModule<typeof publicOnPostUpdated>\n> = createEventModule(publicOnPostUpdated);\n\nexport {\n NodeType,\n WidthType,\n PluginContainerDataAlignment,\n Type,\n Target,\n TextAlignment,\n LineStyle,\n Width,\n Alignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n Position,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n BackgroundType,\n DecorationType,\n FontType,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n ModerationStatusStatus,\n QueryPublicationsCountStatsRequestOrder,\n Order,\n WebhookIdentityType,\n GetPostTemplatesSort,\n Origin,\n Status,\n Field,\n PostFieldField,\n GetPostsSort,\n SortOrder,\n} from './blog-v3-post-posts.universal.js';\nexport {\n Post,\n CoverMedia,\n CoverMediaMediaOneOf,\n FocalPoint,\n PostCountInfo,\n Metrics,\n SeoSchema,\n Keyword,\n Tag,\n Settings,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Border,\n Colors,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n V1Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n Layout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n Gradient,\n Background,\n BackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutCellData,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n ModerationDetails,\n Media,\n MediaMediaOneOf,\n WixMedia,\n VideoResolution,\n EmbedMedia,\n EmbedThumbnail,\n EmbedVideo,\n PostTranslation,\n PostCategoriesUpdated,\n PostTagsUpdated,\n ScheduledPostPublished,\n QueryPublicationsCountStatsRequest,\n QueryPublicationsCountStatsResponse,\n PeriodPublicationsCount,\n QueryPostCountStatsRequest,\n QueryPostCountStatsResponse,\n PeriodPostCount,\n GetTotalPublicationsRequest,\n GetTotalPublicationsResponse,\n GetTotalPostsRequest,\n GetTotalPostsResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n ListTemplatesRequest,\n BlogPaging,\n ListTemplatesResponse,\n MetaData,\n Category,\n CategoryTranslation,\n GetTemplateRequest,\n GetTemplateResponse,\n CreateDraftPostFromTemplateRequest,\n CreateDraftPostFromTemplateResponse,\n DraftPost,\n DraftPostTranslation,\n GetTotalLikesPerMemberRequest,\n GetTotalLikesPerMemberResponse,\n PostLiked,\n PostLikedInitiatorOneOf,\n PostUnliked,\n PostUnlikedInitiatorOneOf,\n PostCountersUpdated,\n PostCountersUpdatedInitiatorOneOf,\n PostOwnerChanged,\n InitialPostsCopied,\n GetPostRequest,\n GetPostResponse,\n GetPostBySlugRequest,\n GetPostBySlugResponse,\n ListPostsRequest,\n ListPostsResponse,\n QueryPostsRequest,\n Sorting,\n PlatformQuery,\n PlatformQueryPagingMethodOneOf,\n Paging,\n CursorPaging,\n QueryPostsResponse,\n PagingMetadataV2,\n Cursors,\n GetPostMetricsRequest,\n GetPostMetricsResponse,\n BulkGetPostMetricsRequest,\n BulkGetPostMetricsResponse,\n ViewPostRequest,\n ViewPostResponse,\n LikePostRequest,\n LikePostResponse,\n UnlikePostRequest,\n UnlikePostResponse,\n PinPostRequest,\n PinPostResponse,\n UnpinPostRequest,\n UnpinPostResponse,\n ListPostsArchiveRequest,\n ListPostsArchiveResponse,\n BulkGetPostReactionsRequest,\n BulkGetPostReactionsResponse,\n Reactions,\n ListDemoPostsRequest,\n ListDemoPostsResponse,\n ConvertDraftJsToRichContentRequest,\n ConvertDraftJsToRichContentResponse,\n ConvertRichContentToDraftJsRequest,\n ConvertRichContentToDraftJsResponse,\n OldBlogMigratedEvent,\n BaseEventMetadata,\n EventMetadata,\n PostCreatedEnvelope,\n PostDeletedEnvelope,\n PostLikedEnvelope,\n PostUnlikedEnvelope,\n PostUpdatedEnvelope,\n QueryPostCountStatsOptions,\n GetTotalPostsOptions,\n GetPostOptions,\n GetPostBySlugOptions,\n ListPostsOptions,\n QueryPostsOptions,\n PostsQueryResult,\n PostsQueryBuilder,\n} from './blog-v3-post-posts.universal.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAAA;AAAA,EAAA,qBAAAC;AAAA,EAAA,sBAAAC;AAAA,EAAA,qBAAAC;AAAA,EAAA,iBAAAC;AAAA,EAAA,qBAAAC;AAAA,EAAA,qBAAAC;AAAA,EAAA,mBAAAC;AAAA,EAAA,qBAAAC;AAAA,EAAA,qBAAAC;AAAA,EAAA,2BAAAC;AAAA,EAAA,kBAAAC;AAAA;AAAA;;;ACAA,IAAAC,iCAAwD;AACxD,IAAAC,gBAA6C;AAC7C,IAAAC,gBAA6C;AAC7C,IAAAC,gBAA6C;AAC7C,IAAAC,mBAAiD;AACjD,IAAAC,oBAAqD;AACrD,IAAAC,0BAA+B;AAC/B,IAAAC,gBAA6C;AAC7C,IAAAC,mBAAiD;AACjD,uBAA4C;;;ACT5C,6BAAoD;AACpD,2BAA6B;AAC7B,oCAGO;;;ACLP,0BAAkC;AAClC,mBAA6C;AAC7C,mBAA6C;AAC7C,uBAAqD;AACrD,IAAAC,oBAAqD;AACrD,6BAA+B;AAC/B,IAAAC,uBAA2B;AAI3B,SAAS,iEACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,yBAAyB;AAAA,MACvB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,GAAG;AAAA,MACD;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,iCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,SAAS,oEACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,yBAAyB;AAAA,MACvB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,GAAG;AAAA,MACD;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,iCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AAYd,SAAS,oBACd,SAC4B;AAC5B,WAAS,sBAAsB,EAAE,KAAK,GAAQ;AAC5C,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,aAAa,GAAG,EAAE,MAAM,WAAW,CAAC;AAAA,MACtD;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,oEAAoE;AAAA,QACvE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,cAAc;AAAA,MACxC,mBAAmB,CAACC,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAAA,QACvC;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,cAAc,SAA6C;AACzE,WAAS,gBAAgB,EAAE,KAAK,GAAQ;AACtC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,oEAAoE;AAAA,QACvE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,QAAQ,SAA6C;AACnE,WAAS,UAAU,EAAE,KAAK,GAAQ;AAChC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,iEAAiE;AAAA,QACpE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,0BAA0B;AAAA,YAClC,EAAE,MAAM,yBAAyB;AAAA,YACjC,EAAE,MAAM,0CAA0C;AAAA,YAClD,EAAE,MAAM,oDAAoD;AAAA,YAC5D,EAAE,MAAM,mCAAmC;AAAA,YAC3C,EAAE,MAAM,6CAA6C;AAAA,YACrD,EAAE,MAAM,6CAA6C;AAAA,YACrD,EAAE,MAAM,uCAAuC;AAAA,YAC/C,EAAE,MAAM,wCAAwC;AAAA,YAChD,EAAE,MAAM,8CAA8C;AAAA,YACtD,EAAE,MAAM,gDAAgD;AAAA,YACxD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,wDAAwD;AAAA,UAClE;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,6BAA6B,CAAC;AAAA,QAChD;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,qCAAqC;AAAA,YAC7C,EAAE,MAAM,qCAAqC;AAAA,YAC7C,EAAE,MAAM,+CAA+C;AAAA,YACvD,EAAE,MAAM,+CAA+C;AAAA,YACvD,EAAE,MAAM,8BAA8B;AAAA,YACtC,EAAE,MAAM,8BAA8B;AAAA,YACtC,EAAE,MAAM,yCAAyC;AAAA,YACjD,EAAE,MAAM,yCAAyC;AAAA,YACjD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,6BAA6B;AAAA,YACrC;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,wDAAwD;AAAA,YAChE,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,iDAAiD;AAAA,YACzD,EAAE,MAAM,iDAAiD;AAAA,YACzD,EAAE,MAAM,sDAAsD;AAAA,YAC9D;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,qDAAqD;AAAA,YAC7D,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,sDAAsD;AAAA,YAC9D,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,uDAAuD;AAAA,UACjE;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAUO,SAAS,cAAc,SAA6C;AACzE,WAAS,gBAAgB,EAAE,KAAK,GAAQ;AACtC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,iEAAiE;AAAA,QACpE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,0BAA0B;AAAA,YAClC,EAAE,MAAM,yBAAyB;AAAA,YACjC,EAAE,MAAM,0CAA0C;AAAA,YAClD,EAAE,MAAM,oDAAoD;AAAA,YAC5D,EAAE,MAAM,mCAAmC;AAAA,YAC3C,EAAE,MAAM,6CAA6C;AAAA,YACrD,EAAE,MAAM,6CAA6C;AAAA,YACrD,EAAE,MAAM,uCAAuC;AAAA,YAC/C,EAAE,MAAM,wCAAwC;AAAA,YAChD,EAAE,MAAM,8CAA8C;AAAA,YACtD,EAAE,MAAM,gDAAgD;AAAA,YACxD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,wDAAwD;AAAA,UAClE;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,6BAA6B,CAAC;AAAA,QAChD;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,qCAAqC;AAAA,YAC7C,EAAE,MAAM,qCAAqC;AAAA,YAC7C,EAAE,MAAM,+CAA+C;AAAA,YACvD,EAAE,MAAM,+CAA+C;AAAA,YACvD,EAAE,MAAM,8BAA8B;AAAA,YACtC,EAAE,MAAM,8BAA8B;AAAA,YACtC,EAAE,MAAM,yCAAyC;AAAA,YACjD,EAAE,MAAM,yCAAyC;AAAA,YACjD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,6BAA6B;AAAA,YACrC;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,wDAAwD;AAAA,YAChE,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,iDAAiD;AAAA,YACzD,EAAE,MAAM,iDAAiD;AAAA,YACzD,EAAE,MAAM,sDAAsD;AAAA,YAC9D;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,qDAAqD;AAAA,YAC7D,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,sDAAsD;AAAA,YAC9D,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,uDAAuD;AAAA,UACjE;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAUO,SAAS,UAAU,SAA6C;AACrE,WAAS,YAAY,EAAE,KAAK,GAAQ;AAClC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,iEAAiE;AAAA,QACpE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,2BAA2B;AAAA,YACnC,EAAE,MAAM,0BAA0B;AAAA,YAClC,EAAE,MAAM,2CAA2C;AAAA,YACnD,EAAE,MAAM,qDAAqD;AAAA,YAC7D,EAAE,MAAM,oCAAoC;AAAA,YAC5C,EAAE,MAAM,8CAA8C;AAAA,YACtD,EAAE,MAAM,8CAA8C;AAAA,YACtD,EAAE,MAAM,wCAAwC;AAAA,YAChD,EAAE,MAAM,yCAAyC;AAAA,YACjD,EAAE,MAAM,+CAA+C;AAAA,YACvD,EAAE,MAAM,iDAAiD;AAAA,YACzD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAAA,QACjD;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,sCAAsC;AAAA,YAC9C,EAAE,MAAM,sCAAsC;AAAA,YAC9C,EAAE,MAAM,gDAAgD;AAAA,YACxD,EAAE,MAAM,gDAAgD;AAAA,YACxD,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,0CAA0C;AAAA,YAClD,EAAE,MAAM,0CAA0C;AAAA,YAClD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,oDAAoD;AAAA,YAC5D,EAAE,MAAM,oDAAoD;AAAA,YAC5D,EAAE,MAAM,8BAA8B;AAAA,YACtC;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,uDAAuD;AAAA,YAC/D;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,sDAAsD;AAAA,YAC9D,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,uDAAuD;AAAA,YAC/D,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,wDAAwD;AAAA,UAClE;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAsBO,SAAS,WAAW,SAA6C;AACtE,WAAS,aAAa,EAAE,KAAK,GAAQ;AACnC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,iEAAiE;AAAA,QACpE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,2BAA2B;AAAA,YACnC,EAAE,MAAM,0BAA0B;AAAA,YAClC,EAAE,MAAM,2CAA2C;AAAA,YACnD,EAAE,MAAM,qDAAqD;AAAA,YAC7D,EAAE,MAAM,oCAAoC;AAAA,YAC5C,EAAE,MAAM,8CAA8C;AAAA,YACtD,EAAE,MAAM,8CAA8C;AAAA,YACtD,EAAE,MAAM,wCAAwC;AAAA,YAChD,EAAE,MAAM,yCAAyC;AAAA,YACjD,EAAE,MAAM,+CAA+C;AAAA,YACvD,EAAE,MAAM,iDAAiD;AAAA,YACzD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAAA,QACjD;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,sCAAsC;AAAA,YAC9C,EAAE,MAAM,sCAAsC;AAAA,YAC9C,EAAE,MAAM,gDAAgD;AAAA,YACxD,EAAE,MAAM,gDAAgD;AAAA,YACxD,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,+BAA+B;AAAA,YACvC,EAAE,MAAM,0CAA0C;AAAA,YAClD,EAAE,MAAM,0CAA0C;AAAA,YAClD;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,oDAAoD;AAAA,YAC5D,EAAE,MAAM,oDAAoD;AAAA,YAC5D,EAAE,MAAM,8BAA8B;AAAA,YACtC;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,kDAAkD;AAAA,YAC1D,EAAE,MAAM,uDAAuD;AAAA,YAC/D;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA;AAAA,cACE,MAAM;AAAA,YACR;AAAA,YACA,EAAE,MAAM,sDAAsD;AAAA,YAC9D,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,uDAAuD;AAAA,YAC/D,EAAE,MAAM,mDAAmD;AAAA,YAC3D,EAAE,MAAM,wDAAwD;AAAA,UAClE;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,eAAe,SAA6C;AAC1E,WAAS,iBAAiB,EAAE,KAAK,GAAQ;AACvC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,KAAK,iEAAiE;AAAA,QACpE,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAAA,QAC3C;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;ADx5BA,mBAA6C;AAC7C,sBAAiD;AACjD,mBAA6C;AAC7C,sBAAiD;AACjD,IAAAC,0BAA+B;AAscxB,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,mBAAgB;AAChB,EAAAA,UAAA,kBAAe;AACf,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,SAAM;AACN,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,kBAAe;AAEf,EAAAA,UAAA,SAAM;AACN,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,sBAAmB;AACnB,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,sBAAmB;AACnB,EAAAA,UAAA,4BAAyB;AACzB,EAAAA,UAAA,2BAAwB;AACxB,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,cAAW;AACX,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,iBAAc;AAlCJ,SAAAA;AAAA,GAAA;AAwFL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,aAAU;AAEV,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,cAAW;AAEX,EAAAA,WAAA,gBAAa;AARH,SAAAA;AAAA,GAAA;AAuCL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,8BAAA,YAAS;AAET,EAAAA,8BAAA,UAAO;AAEP,EAAAA,8BAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AAuBL,IAAK,OAAL,kBAAKC,UAAL;AAEL,EAAAA,MAAA,UAAO;AAEP,EAAAA,MAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;AAyCL,IAAK,SAAL,kBAAKC,YAAL;AAEL,EAAAA,QAAA,UAAO;AAEP,EAAAA,QAAA,WAAQ;AAER,EAAAA,QAAA,YAAS;AAET,EAAAA,QAAA,SAAM;AARI,SAAAA;AAAA,GAAA;AAkCL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,aAAU;AAVA,SAAAA;AAAA,GAAA;AAwBL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AARC,SAAAA;AAAA,GAAA;AAWL,IAAK,QAAL,kBAAKC,WAAL;AAEL,EAAAA,OAAA,WAAQ;AAER,EAAAA,OAAA,YAAS;AAET,EAAAA,OAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AASL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,UAAO;AAEP,EAAAA,WAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AAiCL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AAoHL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,aAAU;AAEV,EAAAA,YAAA,aAAU;AAEV,EAAAA,YAAA,UAAO;AAEP,EAAAA,YAAA,eAAY;AAEZ,EAAAA,YAAA,YAAS;AAET,EAAAA,YAAA,eAAY;AAEZ,EAAAA,YAAA,cAAW;AAEX,EAAAA,YAAA,YAAS;AAET,EAAAA,YAAA,WAAQ;AAER,EAAAA,YAAA,cAAW;AApBD,SAAAA;AAAA,GAAA;AAuBL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,UAAO;AAEP,EAAAA,aAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;AAOL,IAAK,OAAL,kBAAKC,UAAL;AAEL,EAAAA,MAAA,UAAO;AAEP,EAAAA,MAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAOL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,SAAM;AAEN,EAAAA,qBAAA,WAAQ;AAER,EAAAA,qBAAA,YAAS;AAET,EAAAA,qBAAA,UAAO;AAEP,EAAAA,qBAAA,UAAO;AAVG,SAAAA;AAAA,GAAA;AA6EL,IAAK,UAAL,kBAAKC,aAAL;AACL,EAAAA,SAAA,SAAM;AACN,EAAAA,SAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;AA6CL,IAAK,SAAL,kBAAKC,YAAL;AACL,EAAAA,QAAA,UAAO;AACP,EAAAA,QAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;AAyDL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,WAAQ;AAER,EAAAA,UAAA,SAAM;AAEN,EAAAA,UAAA,SAAM;AAEN,EAAAA,UAAA,YAAS;AARC,SAAAA;AAAA,GAAA;AA6EL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,SAAA,aAAU;AAEV,EAAAA,SAAA,cAAW;AAEX,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,aAAU;AARA,SAAAA;AAAA,GAAA;AA+BL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,YAAS;AAET,EAAAA,UAAA,cAAW;AAND,SAAAA;AAAA,GAAA;AASL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,kBAAe;AAEf,EAAAA,UAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAkCL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAOL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,SAAM;AAEN,EAAAA,qBAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAqBL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,cAAW;AAND,SAAAA;AAAA,GAAA;AAiJL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,WAAQ;AACR,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,cAAW;AAVD,SAAAA;AAAA,GAAA;AA8CL,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,UAAA,QAAK;AACL,EAAAA,UAAA,QAAK;AAFK,SAAAA;AAAA,GAAA;AAwCL,IAAK,UAAL,kBAAKC,aAAL;AACL,EAAAA,SAAA,aAAU;AACV,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,aAAU;AAHA,SAAAA;AAAA,GAAA;AAiGL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,WAAQ;AAER,EAAAA,sBAAA,SAAM;AAEN,EAAAA,sBAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AASL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,SAAM;AAEN,EAAAA,WAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAuCL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,mBAAA,SAAM;AAEN,EAAAA,mBAAA,YAAS;AAET,EAAAA,mBAAA,YAAS;AANC,SAAAA;AAAA,GAAA;AAgDL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,gBAAa;AAFH,SAAAA;AAAA,GAAA;AAiIL,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,wBAAA,aAAU;AACV,EAAAA,wBAAA,cAAW;AACX,EAAAA,wBAAA,cAAW;AAHD,SAAAA;AAAA,GAAA;AA+KL,IAAK,0CAAL,kBAAKC,6CAAL;AACL,EAAAA,yCAAA,aAAU;AACV,EAAAA,yCAAA,YAAS;AACT,EAAAA,yCAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;AAqDL,IAAK,QAAL,kBAAKC,WAAL;AACL,EAAAA,OAAA,aAAU;AACV,EAAAA,OAAA,YAAS;AACT,EAAAA,OAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;AAiML,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,uBAAoB;AACpB,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,SAAM;AALI,SAAAA;AAAA,GAAA;AA4BL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,wBAAqB;AAErB,EAAAA,sBAAA,yBAAsB;AAJZ,SAAAA;AAAA,GAAA;AAiTL,IAAK,SAAL,kBAAKC,YAAL;AACL,EAAAA,QAAA,aAAU;AAEV,EAAAA,QAAA,WAAQ;AAER,EAAAA,QAAA,oBAAiB;AAEjB,EAAAA,QAAA,eAAY;AAEZ,EAAAA,QAAA,mBAAgB;AAEhB,EAAAA,QAAA,YAAS;AAET,EAAAA,QAAA,iBAAc;AAEd,EAAAA,QAAA,iBAAc;AAEd,EAAAA,QAAA,kBAAe;AAEf,EAAAA,QAAA,qBAAkB;AAElB,EAAAA,QAAA,iBAAc;AAEd,EAAAA,QAAA,eAAY;AAEZ,EAAAA,QAAA,gBAAa;AAEb,EAAAA,QAAA,mBAAgB;AAEhB,EAAAA,QAAA,0BAAuB;AAEvB,EAAAA,QAAA,eAAY;AAEZ,EAAAA,QAAA,aAAU;AAEV,EAAAA,QAAA,oBAAiB;AAEjB,EAAAA,QAAA,YAAS;AAET,EAAAA,QAAA,aAAU;AAEV,EAAAA,QAAA,qBAAkB;AAElB,EAAAA,QAAA,iBAAc;AAEd,EAAAA,QAAA,eAAY;AAEZ,EAAAA,QAAA,gBAAa;AAEb,EAAAA,QAAA,sBAAmB;AAEnB,EAAAA,QAAA,iCAA8B;AAE9B,EAAAA,QAAA,mCAAgC;AAEhC,EAAAA,QAAA,gCAA6B;AAE7B,EAAAA,QAAA,cAAW;AAEX,EAAAA,QAAA,4BAAyB;AAEzB,EAAAA,QAAA,4BAAyB;AAEzB,EAAAA,QAAA,2BAAwB;AAExB,EAAAA,QAAA,gBAAa;AAEb,EAAAA,QAAA,SAAM;AAEN,EAAAA,QAAA,WAAQ;AAER,EAAAA,QAAA,kBAAe;AAvEL,SAAAA;AAAA,GAAA;AA0EL,IAAK,SAAL,kBAAKC,YAAL;AACL,EAAAA,QAAA,aAAU;AAEV,EAAAA,QAAA,eAAY;AAEZ,EAAAA,QAAA,iBAAc;AAEd,EAAAA,QAAA,eAAY;AAEZ,EAAAA,QAAA,aAAU;AAEV,EAAAA,QAAA,eAAY;AAXF,SAAAA;AAAA,GAAA;AAuJL,IAAK,QAAL,kBAAKC,WAAL;AAEL,EAAAA,OAAA,aAAU;AAEV,EAAAA,OAAA,oBAAiB;AAEjB,EAAAA,OAAA,gBAAa;AAEb,EAAAA,OAAA,gBAAa;AAEb,EAAAA,OAAA,kBAAe;AAVL,SAAAA;AAAA,GAAA;AAoCL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,SAAM;AAEN,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,SAAM;AAEN,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,kBAAe;AAfL,SAAAA;AAAA,GAAA;AA6GL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,UAAO;AAEP,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,yBAAsB;AAEtB,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,gBAAa;AAdH,SAAAA;AAAA,GAAA;AA8CL,IAAK,YAAL,kBAAKC,eAAL;AACL,EAAAA,WAAA,SAAM;AACN,EAAAA,WAAA,UAAO;AAFG,SAAAA;AAAA,GAAA;AAssBZ,eAAsBC,qBACpB,SAMA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU;AAAA,IACd;AAAA,MACE,YAAY,SAAS;AAAA,MACrB,OAAO,SAAS;AAAA,MAChB,QAAQ,SAAS;AAAA,MACjB,UAAU,SAAS;AAAA,MACnB,UAAU,SAAS;AAAA,IACrB;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,UAAkC,oBAAoB,OAAO;AAEnE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,MAAM,CAAC,CAAC;AAAA,EAChE,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAC;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,QACZ;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAkDA,eAAsBC,eACpB,SAC2D;AAE3D,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU;AAAA,IACd,EAAE,UAAU,SAAS,SAAS;AAAA,IAC9B,CAAC;AAAA,EACH;AAEA,QAAM,UAAkC,cAAc,OAAO;AAE7D,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,MAAM,CAAC,CAAC;AAAA,EAChE,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAD;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,UAAU,gBAAgB;AAAA,QACtD,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA8BA,eAAsBE,SACpB,QACA,SAMA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU;AAAA,IACd,EAAE,QAAgB,WAAW,SAAS,UAAU;AAAA,IAChD,CAAC;AAAA,EACH;AAEA,QAAM,UAAkC,QAAQ,OAAO;AAEvD,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO;AAAA,UACL,wCAAe,OAAO,MAAM;AAAA,QAC1B;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,WAAW,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAAA,QACjE;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,iBAAiB;AAAA,YACzB,EAAE,MAAM,wBAAwB;AAAA,YAChC,EAAE,MAAM,4BAA4B;AAAA,UACtC;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAAA,QAC3C;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAAA,QACjD;AAAA,MACF,CAAC;AAAA,MACD,CAAC,mBAAmB;AAAA,IACtB;AAAA,EACF,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAF;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,QACb;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAkCA,eAAsBG,eACpB,MACA,SAMA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU;AAAA,IACd,EAAE,MAAY,WAAW,SAAS,UAAU;AAAA,IAC5C,CAAC;AAAA,EACH;AAEA,QAAM,UAAkC,cAAc,OAAO;AAE7D,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO;AAAA,UACL,wCAAe,OAAO,MAAM;AAAA,QAC1B;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,WAAW,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAAA,QACjE;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,iBAAiB;AAAA,YACzB,EAAE,MAAM,wBAAwB;AAAA,YAChC,EAAE,MAAM,4BAA4B;AAAA,UACtC;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAAA,QAC3C;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAAA,QACjD;AAAA,MACF,CAAC;AAAA,MACD,CAAC,mBAAmB;AAAA,IACtB;AAAA,EACF,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAH;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,MAAM,QAAQ,WAAW,iBAAiB;AAAA,QACtE,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ,SAAS;AAAA,IACpB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAgCA,eAAsBI,WACpB,SAWA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU;AAAA,IACd;AAAA,MACE,UAAU,SAAS;AAAA,MACnB,UAAU,SAAS;AAAA,MACnB,aAAa,SAAS;AAAA,MACtB,QAAQ,SAAS;AAAA,MACjB,MAAM,SAAS;AAAA,MACf,QAAQ,SAAS;AAAA,MACjB,UAAU,SAAS;AAAA,MACnB,UAAU,SAAS;AAAA,MACnB,WAAW,SAAS;AAAA,IACtB;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,UAAkC,UAAU,OAAO;AAEzD,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO;AAAA,UACL,wCAAe,OAAO,MAAM;AAAA,QAC1B;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,YAAY,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAAA,QACnE;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,YACL,EAAE,MAAM,kBAAkB;AAAA,YAC1B,EAAE,MAAM,yBAAyB;AAAA,YACjC,EAAE,MAAM,6BAA6B;AAAA,UACvC;AAAA,QACF;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAAA,QAC5C;AAAA,QACA;AAAA,UACE,aAAa;AAAA,UACb,OAAO,CAAC,EAAE,MAAM,+BAA+B,CAAC;AAAA,QAClD;AAAA,MACF,CAAC;AAAA,MACD,CAAC,oBAAoB;AAAA,IACvB;AAAA,EACF,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAJ;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,UAAU;AAAA,UACV,UAAU;AAAA,UACV,aAAa;AAAA,UACb,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,WAAW;AAAA,QACb;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAmGO,SAASK,YAAW,SAAgD;AAEzE,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,aAAO,mCAAoE;AAAA,IACzE,MAAM,OAAO,YAA+B;AAC1C,YAAM,UAAkC,WAAW;AAAA,QACjD,GAAG;AAAA,QACH,GAAI,WAAW,CAAC;AAAA,MAClB,CAAC;AAED,mBAAa,aAAa;AAC1B,UAAI;AACF,cAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,qBAAa,YAAY,MAAM;AAC/B,eAAO;AAAA,MACT,SAAS,KAAK;AACZ,qBAAa,UAAU,GAAG;AAC1B,cAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,UAAsC;AACzD,YAAM,OAAO,CAAC,OAAO,OAAO;AAI5B,iBAAO;AAAA,QACL,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC,EAAE;AAAA,QACjC,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,EAAE,KAAK,MAAwC;AACnE,YAAM,sBAAkB;AAAA,YACtB,wCAAe,MAAM;AAAA,UACnB;AAAA,YACE,aAAa;AAAA,YACb,OAAO,CAAC,EAAE,MAAM,YAAY,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAAA,UACnE;AAAA,UACA;AAAA,YACE,aAAa;AAAA,YACb,OAAO;AAAA,cACL,EAAE,MAAM,kBAAkB;AAAA,cAC1B,EAAE,MAAM,yBAAyB;AAAA,cACjC,EAAE,MAAM,6BAA6B;AAAA,YACvC;AAAA,UACF;AAAA,UACA;AAAA,YACE,aAAa;AAAA,YACb,OAAO,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAAA,UAC5C;AAAA,UACA;AAAA,YACE,aAAa;AAAA,YACb,OAAO,CAAC,EAAE,MAAM,+BAA+B,CAAC;AAAA,UAClD;AAAA,QACF,CAAC;AAAA,QACD,CAAC,oBAAoB;AAAA,MACvB;AAEA,aAAO;AAAA,QACL,OAAO,iBAAiB;AAAA,QACxB,gBAAgB,iBAAiB;AAAA,MACnC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,QAAiB;AAClC,YAAM,uBAAmB,uBAAAL,gBAAkB,KAAK;AAAA,QAC9C,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,OAAO,OAAO;AAAA,QAC1C,yBAAyB;AAAA,MAC3B,CAAC;AAED,YAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,IACd,qBAAqB,CAAC;AAAA,EACxB,CAAC;AACH;AAoOA,eAAsBM,gBACpB,QAMA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC,EAAE,OAAe,GAAG,CAAC,CAAC;AAE5E,QAAM,UAAkC,eAAe,OAAO;AAE9D,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,MAAM,CAAC,CAAC;AAAA,EAChE,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAN;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,QAAQ,OAAO;AAAA,QAC3C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;;;ADh+IO,SAASO,qBACd,YAC8B;AAC9B,SAAO,CAAC,YACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAoBO,SAASC,eAAc,YAAgD;AAC5E,SAAO,CAAC,YACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAUO,SAASC,SAAQ,YAA0C;AAChE,SAAO,CAAC,QAAgB,YACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAcO,SAASC,eAAc,YAAgD;AAC5E,SAAO,CAAC,MAAc,YACpBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAmBO,SAASC,WAAU,YAA4C;AACpE,SAAO,CAAC,YACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAeO,SAASC,YAAW,YAA6C;AACtE,SAAO,CAAC,YACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AA2BO,SAASC,gBACd,YACyB;AACzB,SAAO,CAAC,WACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAYO,IAAM,oBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,4BAA4B;AAAA,UACpC,EAAE,MAAM,2BAA2B;AAAA,UACnC,EAAE,MAAM,+CAA+C;AAAA,UACvD,EAAE,MAAM,+CAA+C;AAAA,UACvD,EAAE,MAAM,yCAAyC;AAAA,UACjD,EAAE,MAAM,0CAA0C;AAAA,UAClD,EAAE,MAAM,qBAAqB;AAAA,QAC/B;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,aAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAAA,MACrE;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,mBAAmB;AAAA,UAC3B,EAAE,MAAM,0BAA0B;AAAA,UAClC,EAAE,MAAM,8BAA8B;AAAA,QACxC;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,+BAA+B,CAAC;AAAA,MAClD;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,0BAA0B,CAAC;AAAA,MAC7C;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,+BAA+B;AAAA,UACvC;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,0DAA0D;AAAA,UAClE,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,mDAAmD;AAAA,UAC3D,EAAE,MAAM,mDAAmD;AAAA,UAC3D,EAAE,MAAM,wDAAwD;AAAA,UAChE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,uDAAuD;AAAA,UAC/D,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,wDAAwD;AAAA,UAChE,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,yDAAyD;AAAA,QACnE;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,gCAAgC,CAAC;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,IACD,CAAC,qBAAqB;AAAA,EACxB;AACJ,EAAuB;AAChB,IAAM,oBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,4BAA4B;AAAA,UACpC,EAAE,MAAM,2BAA2B;AAAA,UACnC,EAAE,MAAM,+CAA+C;AAAA,UACvD,EAAE,MAAM,+CAA+C;AAAA,UACvD,EAAE,MAAM,yCAAyC;AAAA,UACjD,EAAE,MAAM,0CAA0C;AAAA,UAClD,EAAE,MAAM,qBAAqB;AAAA,QAC/B;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,aAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAAA,MACrE;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,mBAAmB;AAAA,UAC3B,EAAE,MAAM,0BAA0B;AAAA,UAClC,EAAE,MAAM,8BAA8B;AAAA,QACxC;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,+BAA+B,CAAC;AAAA,MAClD;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,0BAA0B,CAAC;AAAA,MAC7C;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,+BAA+B;AAAA,UACvC;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,0DAA0D;AAAA,UAClE,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,mDAAmD;AAAA,UAC3D,EAAE,MAAM,mDAAmD;AAAA,UAC3D,EAAE,MAAM,wDAAwD;AAAA,UAChE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,uDAAuD;AAAA,UAC/D,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,wDAAwD;AAAA,UAChE,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,yDAAyD;AAAA,QACnE;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,gCAAgC,CAAC;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,IACD,CAAC,qBAAqB;AAAA,EACxB;AACJ,EAAuB;AAChB,IAAM,kBAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAAA,MACxC;AAAA,IACF,CAAC;AAAA,IACD,CAAC,qBAAqB;AAAA,EACxB;AACJ,EAAqB;AACd,IAAM,oBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAAA,MACxC;AAAA,IACF,CAAC;AAAA,IACD,CAAC,qBAAqB;AAAA,EACxB;AACJ,EAAuB;AAChB,IAAM,oBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,CAAC,cACC;AAAA,QACE,wCAAe,OAAO;AAAA,MACpB;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,4BAA4B;AAAA,UACpC,EAAE,MAAM,2BAA2B;AAAA,UACnC,EAAE,MAAM,+CAA+C;AAAA,UACvD,EAAE,MAAM,+CAA+C;AAAA,UACvD,EAAE,MAAM,yCAAyC;AAAA,UACjD,EAAE,MAAM,0CAA0C;AAAA,UAClD,EAAE,MAAM,qBAAqB;AAAA,QAC/B;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,aAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAAA,MACrE;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,mBAAmB;AAAA,UAC3B,EAAE,MAAM,0BAA0B;AAAA,UAClC,EAAE,MAAM,8BAA8B;AAAA,QACxC;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,+BAA+B,CAAC;AAAA,MAClD;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,0BAA0B,CAAC;AAAA,MAC7C;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,UACL,EAAE,MAAM,+BAA+B;AAAA,UACvC;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,0DAA0D;AAAA,UAClE,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,mDAAmD;AAAA,UAC3D,EAAE,MAAM,mDAAmD;AAAA,UAC3D,EAAE,MAAM,wDAAwD;AAAA,UAChE;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,uDAAuD;AAAA,UAC/D,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,wDAAwD;AAAA,UAChE,EAAE,MAAM,oDAAoD;AAAA,UAC5D,EAAE,MAAM,yDAAyD;AAAA,QACnE;AAAA,MACF;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO,CAAC,EAAE,MAAM,gCAAgC,CAAC;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,IACD,CAAC,qBAAqB;AAAA,EACxB;AACJ,EAAuB;;;AG7cvB,IAAAC,uBAAiC;AACjC,sCAAkC;AAQ3B,IAAMC,uBAGK,2DAAiBA,oBAAyB;AACrD,IAAMC,iBAEK,2DAAiBA,cAAmB;AAC/C,IAAMC,WAEK,2DAAiBA,QAAa;AACzC,IAAMC,iBAEK,2DAAiBA,cAAmB;AAC/C,IAAMC,aAEK,2DAAiBA,UAAe;AAC3C,IAAMC,cAEK,2DAAiBA,WAAgB;AAC5C,IAAMC,kBAEK,2DAAiBA,eAAoB;AAIhD,IAAMC,qBAET,mDAAkB,aAAmB;AAIlC,IAAMC,qBAET,mDAAkB,aAAmB;AAIlC,IAAMC,mBAET,mDAAkB,WAAiB;AAIhC,IAAMC,qBAET,mDAAkB,aAAmB;AAIlC,IAAMC,qBAET,mDAAkB,aAAmB;","names":["getPost","getPostBySlug","getPostMetrics","getTotalPosts","listPosts","onPostCreated","onPostDeleted","onPostLiked","onPostUnliked","onPostUpdated","queryPostCountStats","queryPosts","import_rename_all_nested_keys","import_bytes","import_float","import_image","import_page_url","import_timestamp","import_transform_paths","import_video","import_video_v2","import_timestamp","import_rest_modules","payload","import_transform_paths","NodeType","WidthType","PluginContainerDataAlignment","Type","Target","TextAlignment","LineStyle","Width","Alignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","Position","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","BackgroundType","DecorationType","FontType","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","ModerationStatusStatus","QueryPublicationsCountStatsRequestOrder","Order","WebhookIdentityType","GetPostTemplatesSort","Origin","Status","Field","PostFieldField","GetPostsSort","SortOrder","queryPostCountStats","sdkTransformError","getTotalPosts","getPost","getPostBySlug","listPosts","queryPosts","getPostMetrics","queryPostCountStats","getTotalPosts","getPost","getPostBySlug","listPosts","queryPosts","getPostMetrics","import_rest_modules","queryPostCountStats","getTotalPosts","getPost","getPostBySlug","listPosts","queryPosts","getPostMetrics","onPostCreated","onPostDeleted","onPostLiked","onPostUnliked","onPostUpdated"]}