type HostModule = { __type: 'host'; create(host: H): T; }; type HostModuleAPI> = T extends HostModule ? U : never; type Host = { channel: { observeState(callback: (props: unknown, environment: Environment) => unknown): { disconnect: () => void; } | Promise<{ disconnect: () => void; }>; }; environment?: Environment; /** * Optional bast url to use for API requests, for example `www.wixapis.com` */ apiBaseUrl?: string; /** * Possible data to be provided by every host, for cross cutting concerns * like internationalization, billing, etc. */ essentials?: { /** * The language of the currently viewed session */ language?: string; /** * The locale of the currently viewed session */ locale?: string; /** * Any headers that should be passed through to the API requests */ passThroughHeaders?: Record; }; }; type RESTFunctionDescriptor any = (...args: any[]) => any> = (httpClient: HttpClient) => T; interface HttpClient { request(req: RequestOptionsFactory): Promise>; fetchWithAuth: typeof fetch; wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise; getActiveToken?: () => string | undefined; } type RequestOptionsFactory = (context: any) => RequestOptions; type HttpResponse = { data: T; status: number; statusText: string; headers: any; request?: any; }; type RequestOptions<_TResponse = any, Data = any> = { method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'; url: string; data?: Data; params?: URLSearchParams; } & APIMetadata; type APIMetadata = { methodFqn?: string; entityFqdn?: string; packageName?: string; }; type BuildRESTFunction = T extends RESTFunctionDescriptor ? U : never; type EventDefinition$1 = { __type: 'event-definition'; type: Type; isDomainEvent?: boolean; transformations?: (envelope: unknown) => Payload; __payload: Payload; }; declare function EventDefinition$1(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): () => EventDefinition$1; type EventHandler$1 = (payload: T['__payload']) => void | Promise; type BuildEventDefinition$1> = (handler: EventHandler$1) => void; type ServicePluginMethodInput = { request: any; metadata: any; }; type ServicePluginContract = Record unknown | Promise>; type ServicePluginMethodMetadata = { name: string; primaryHttpMappingPath: string; transformations: { fromREST: (...args: unknown[]) => ServicePluginMethodInput; toREST: (...args: unknown[]) => unknown; }; }; type ServicePluginDefinition = { __type: 'service-plugin-definition'; componentType: string; methods: ServicePluginMethodMetadata[]; __contract: Contract; }; declare function ServicePluginDefinition(componentType: string, methods: ServicePluginMethodMetadata[]): ServicePluginDefinition; type BuildServicePluginDefinition> = (implementation: T['__contract']) => void; declare const SERVICE_PLUGIN_ERROR_TYPE = "wix_spi_error"; type RequestContext = { isSSR: boolean; host: string; protocol?: string; }; type ResponseTransformer = (data: any, headers?: any) => any; /** * Ambassador request options types are copied mostly from AxiosRequestConfig. * They are copied and not imported to reduce the amount of dependencies (to reduce install time). * https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/index.d.ts#L307-L315 */ type Method = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK'; type AmbassadorRequestOptions = { _?: T; url?: string; method?: Method; params?: any; data?: any; transformResponse?: ResponseTransformer | ResponseTransformer[]; }; type AmbassadorFactory = (payload: Request) => ((context: RequestContext) => AmbassadorRequestOptions) & { __isAmbassador: boolean; }; type AmbassadorFunctionDescriptor = AmbassadorFactory; type BuildAmbassadorFunction = T extends AmbassadorFunctionDescriptor ? (req: Request) => Promise : never; declare global { // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged. interface SymbolConstructor { readonly observable: symbol; } } declare const emptyObjectSymbol: unique symbol; /** Represents a strictly empty plain object, the `{}` value. When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)). @example ``` import type {EmptyObject} from 'type-fest'; // The following illustrates the problem with `{}`. const foo1: {} = {}; // Pass const foo2: {} = []; // Pass const foo3: {} = 42; // Pass const foo4: {} = {a: 1}; // Pass // With `EmptyObject` only the first case is valid. const bar1: EmptyObject = {}; // Pass const bar2: EmptyObject = 42; // Fail const bar3: EmptyObject = []; // Fail const bar4: EmptyObject = {a: 1}; // Fail ``` Unfortunately, `Record`, `Record` and `Record` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}. @category Object */ type EmptyObject = {[emptyObjectSymbol]?: never}; /** Returns a boolean for whether the two given types are equal. @link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650 @link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796 Use-cases: - If you want to make a conditional branch based on the result of a comparison of two types. @example ``` import type {IsEqual} from 'type-fest'; // This type returns a boolean for whether the given array includes the given item. // `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal. type Includes = Value extends readonly [Value[0], ...infer rest] ? IsEqual extends true ? true : Includes : false; ``` @category Type Guard @category Utilities */ type IsEqual = (() => G extends A ? 1 : 2) extends (() => G extends B ? 1 : 2) ? true : false; /** Filter out keys from an object. Returns `never` if `Exclude` is strictly equal to `Key`. Returns `never` if `Key` extends `Exclude`. Returns `Key` otherwise. @example ``` type Filtered = Filter<'foo', 'foo'>; //=> never ``` @example ``` type Filtered = Filter<'bar', string>; //=> never ``` @example ``` type Filtered = Filter<'bar', 'foo'>; //=> 'bar' ``` @see {Except} */ type Filter = IsEqual extends true ? never : (KeyType extends ExcludeType ? never : KeyType); type ExceptOptions = { /** Disallow assigning non-specified properties. Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`. @default false */ requireExactProps?: boolean; }; /** Create a type from an object type without certain keys. We recommend setting the `requireExactProps` option to `true`. This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically. This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)). @example ``` import type {Except} from 'type-fest'; type Foo = { a: number; b: string; }; type FooWithoutA = Except; //=> {b: string} const fooWithoutA: FooWithoutA = {a: 1, b: '2'}; //=> errors: 'a' does not exist in type '{ b: string; }' type FooWithoutB = Except; //=> {a: number} & Partial> const fooWithoutB: FooWithoutB = {a: 1, b: '2'}; //=> errors at 'b': Type 'string' is not assignable to type 'undefined'. ``` @category Object */ type Except = { [KeyType in keyof ObjectType as Filter]: ObjectType[KeyType]; } & (Options['requireExactProps'] extends true ? Partial> : {}); /** Extract the keys from a type where the value type of the key extends the given `Condition`. Internally this is used for the `ConditionalPick` and `ConditionalExcept` types. @example ``` import type {ConditionalKeys} from 'type-fest'; interface Example { a: string; b: string | number; c?: string; d: {}; } type StringKeysOnly = ConditionalKeys; //=> 'a' ``` To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below. @example ``` import type {ConditionalKeys} from 'type-fest'; type StringKeysAndUndefined = ConditionalKeys; //=> 'a' | 'c' ``` @category Object */ type ConditionalKeys = NonNullable< // Wrap in `NonNullable` to strip away the `undefined` type from the produced union. { // Map through all the keys of the given base type. [Key in keyof Base]: // Pick only keys with types extending the given `Condition` type. Base[Key] extends Condition // Retain this key since the condition passes. ? Key // Discard this key since the condition fails. : never; // Convert the produced object into a union type of the keys which passed the conditional test. }[keyof Base] >; /** Exclude keys from a shape that matches the given `Condition`. This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties. @example ``` import type {Primitive, ConditionalExcept} from 'type-fest'; class Awesome { name: string; successes: number; failures: bigint; run() {} } type ExceptPrimitivesFromAwesome = ConditionalExcept; //=> {run: () => void} ``` @example ``` import type {ConditionalExcept} from 'type-fest'; interface Example { a: string; b: string | number; c: () => void; d: {}; } type NonStringKeysOnly = ConditionalExcept; //=> {b: string | number; c: () => void; d: {}} ``` @category Object */ type ConditionalExcept = Except< Base, ConditionalKeys >; /** * Descriptors are objects that describe the API of a module, and the module * can either be a REST module or a host module. * This type is recursive, so it can describe nested modules. */ type Descriptors = RESTFunctionDescriptor | AmbassadorFunctionDescriptor | HostModule | EventDefinition$1 | ServicePluginDefinition | { [key: string]: Descriptors | PublicMetadata | any; }; /** * This type takes in a descriptors object of a certain Host (including an `unknown` host) * and returns an object with the same structure, but with all descriptors replaced with their API. * Any non-descriptor properties are removed from the returned object, including descriptors that * do not match the given host (as they will not work with the given host). */ type BuildDescriptors | undefined, Depth extends number = 5> = { done: T; recurse: T extends { __type: typeof SERVICE_PLUGIN_ERROR_TYPE; } ? never : T extends AmbassadorFunctionDescriptor ? BuildAmbassadorFunction : T extends RESTFunctionDescriptor ? BuildRESTFunction : T extends EventDefinition$1 ? BuildEventDefinition$1 : T extends ServicePluginDefinition ? BuildServicePluginDefinition : T extends HostModule ? HostModuleAPI : ConditionalExcept<{ [Key in keyof T]: T[Key] extends Descriptors ? BuildDescriptors : never; }, EmptyObject>; }[Depth extends -1 ? 'done' : 'recurse']; type PublicMetadata = { PACKAGE_NAME?: string; }; declare global { interface ContextualClient { } } /** * A type used to create concerete types from SDK descriptors in * case a contextual client is available. */ type MaybeContext = globalThis.ContextualClient extends { host: Host; } ? BuildDescriptors : T; /** A site embed is an entity that manages the code that embeds content or an external application into a Wix site. */ interface SiteEmbed extends SiteEmbedContentOneOf { /** Custom embed details. */ customEmbedOptions?: CustomEmbed; /** * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details. * This tag enables you to analyze what a visitor does after clicking on a Google ad. */ googleAdWordsOptions?: GoogleAdWords; /** * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310) * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310) * are supported. */ googleAnalyticsOptions?: GoogleAnalytics; /** * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag * enables you build visual reports of visitor activity that helps them evaluate the * performance of their marketing campaigns. */ yandexMetricaOptions?: YandexMetrica; /** * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details. * This tag enables you to track Facebook ad-driven visitor activity on their site. */ facebookPixelOptions?: FacebookPixel; /** * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This tag enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerOptions?: GoogleTagManager; /** * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details. * This embed enables you to share visitor events to TikTok on their site. */ tikTokPixelOptions?: TikTokPixel; /** * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This embed enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode; /** * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. */ googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode; /** * Site embed ID. * @readonly */ _id?: string | null; /** * Revision number, which increments by 1 each time the site embed is updated. * To prevent conflicting changes, * the current revision must be passed when updating a site embed. * @readonly */ revision?: string | null; /** Site embed name, as displayed to users. */ name?: string | null; /** Whether the site embed is enabled on the site. Defaults to `true`. */ enabled?: boolean; /** Whether to load the site embed once during initial site rendering, rather than on each page navigation. */ loadOnce?: boolean; /** Page IDs where the site embed should be loaded. Relevant for apps with [site page extensions](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-pages/about-site-page-extensions). By default, site embeds are applied to all site pages. */ pageFilter?: PageFilter; /** Site domain where the site embed is installed. */ domain?: string | null; /** Site embed position in the HTML. */ order?: SiteEmbedOrder; /** Site embed type. */ siteEmbedType?: SiteEmbedType; /** * Custom field data for the order object. / * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the Wix Dev Center before they can be accessed with API calls. */ extendedFields?: ExtendedFields; } /** @oneof */ interface SiteEmbedContentOneOf { /** Custom embed details. */ customEmbedOptions?: CustomEmbed; /** * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details. * This tag enables you to analyze what a visitor does after clicking on a Google ad. */ googleAdWordsOptions?: GoogleAdWords; /** * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310) * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310) * are supported. */ googleAnalyticsOptions?: GoogleAnalytics; /** * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag * enables you build visual reports of visitor activity that helps them evaluate the * performance of their marketing campaigns. */ yandexMetricaOptions?: YandexMetrica; /** * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details. * This tag enables you to track Facebook ad-driven visitor activity on their site. */ facebookPixelOptions?: FacebookPixel; /** * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This tag enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerOptions?: GoogleTagManager; /** * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details. * This embed enables you to share visitor events to TikTok on their site. */ tikTokPixelOptions?: TikTokPixel; /** * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This embed enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode; /** * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. */ googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode; } declare enum PositionOnPage { /** Illegal value, exception will be thrown if used */ UNKNOWN_POSITION = "UNKNOWN_POSITION", /** HEAD position */ HEAD = "HEAD", /** BODY_START position */ BODY_START = "BODY_START", /** BODY_END position */ BODY_END = "BODY_END" } interface PageFilter { /** Pages where the site embed will be loaded. */ pageIds?: string[]; } interface SiteEmbedOrder { /** Embed location placement. */ position?: PositionOnPage; /** * Priority of the position for sorting by position on page * @readonly */ positionPriority?: number; /** * Priority of this SiteEmbed according to others on the same position * @readonly */ elementPriority?: number; } declare enum SiteEmbedType { UNKNOWN_SITE_EMBED = "UNKNOWN_SITE_EMBED", /** Custom embed type */ CUSTOM_EMBED = "CUSTOM_EMBED", /** Verification Code embed type */ VERIFICATION_CODE = "VERIFICATION_CODE", /** HotJar embed type */ HOTJAR = "HOTJAR", /** Wix Analytics embed type */ WIX_ANALYTICS = "WIX_ANALYTICS", /** Privy embed type */ PRIVY = "PRIVY", /** HelloBar embed type */ HELLO_BAR = "HELLO_BAR", /** Wisepops embed type */ WISEPOPS = "WISEPOPS", /** Gtag embed type */ GTAG = "GTAG", /** VWO embed type */ VWO = "VWO", /** VkRetargeting embed type */ VK_RETARGETING = "VK_RETARGETING", /** CallRail embed type */ CALL_RAIL = "CALL_RAIL", /** CrazyEgg embed type */ CRAZY_EGG = "CRAZY_EGG", /** AppMarket embed type */ APP_MARKET = "APP_MARKET", /** MobileBannerExperimental embed type */ MOBILE_BANNER_EXPERIMENTAL = "MOBILE_BANNER_EXPERIMENTAL", /** PaidAdsFacebookPixel embed type */ PAID_ADS_FACEBOOK_PIXEL = "PAID_ADS_FACEBOOK_PIXEL", /** GscVerification embed type */ GSC_VERIFICATION = "GSC_VERIFICATION", /** PinterestVerification embed type */ PINTEREST_VERIFICATION = "PINTEREST_VERIFICATION", /** BingVerification embed type */ BING_VERIFICATION = "BING_VERIFICATION", /** YandexVerification embed type */ YANDEX_VERIFICATION = "YANDEX_VERIFICATION", /** NaverVerification embed type */ NAVER_VERIFICATION = "NAVER_VERIFICATION", /** Google AdWords embed type */ GOOGLE_AD_WORDS = "GOOGLE_AD_WORDS", /** Google Analytics embed type */ GOOGLE_ANALYTICS = "GOOGLE_ANALYTICS", /** Yandex metrica embed type */ YANDEX_METRICA = "YANDEX_METRICA", /** Facebook Pixel embed type */ FACEBOOK_PIXEL = "FACEBOOK_PIXEL", /** Google Tag Manager embed type */ GOOGLE_TAG_MANAGER = "GOOGLE_TAG_MANAGER", /** TikTok Pixel embed type */ TIK_TOK_PIXEL = "TIK_TOK_PIXEL", /** Google Tag Manager Consent Mode */ GOOGLE_TAG_MANAGER_CONSENT_MODE = "GOOGLE_TAG_MANAGER_CONSENT_MODE", /** Google Analytics Consent Mode */ GOOGLE_ANALYTICS_CONSENT_MODE = "GOOGLE_ANALYTICS_CONSENT_MODE" } interface CustomEmbed { /** CustomEmbed's category */ category?: Category; /** CustomEmbed's html */ html?: string; } declare enum Category { /** Illegal type, exception will be thrown if used */ UNKNOWN_CATEGORY = "UNKNOWN_CATEGORY", /** Essential category */ ESSENTIAL = "ESSENTIAL", /** Functional category */ FUNCTIONAL = "FUNCTIONAL", /** Analytics category */ ANALYTICS = "ANALYTICS", /** Advertising category */ ADVERTISING = "ADVERTISING", /** Data to third party category */ DATA_TO_THIRD_PARTY = "DATA_TO_THIRD_PARTY" } interface VerificationCode { /** VerificationCode html */ html?: string; } interface Hotjar { /** Hotjar tracking_id */ trackingId?: string; } interface WixAnalytics { } interface Privy { /** Privy tracking_id */ trackingId?: string; } interface HelloBar { /** HelloBar tracking_id */ trackingId?: string; } interface Wisepops { /** Wisepops tracking_id */ trackingId?: string; } interface Gtag { /** Gtag tracking_id */ trackingId?: string; } interface Vwo { /** Vwo tracking_id */ trackingId?: string; } interface VkRetargeting { /** VkRetargeting tracking_id */ trackingId?: string; } interface CallRail { /** CallRail tracking_id */ trackingId?: string; } interface CrazyEgg { /** CrazyEgg tracking_id */ trackingId?: string; } interface AppMarket { /** The application id owning this component */ appId?: string; /** The version of the application that this was installed with */ appVersion?: string; /** The id of the component that was installed */ componentId?: string | null; /** Parameters that will be injected into the Embed HTML template */ parameters?: Record; } interface MobileBannerExperimental { /** MobileBannerExperimental app_link */ appLink?: string; /** MobileBannerExperimental config */ config?: string | null; } interface PaidAdsFacebookPixel { /** PaidAdsFacebookPixel pixel_id */ pixelId?: string; } interface GscVerification { /** GscVerification token */ token?: string; } interface PinterestVerification { /** PinterestVerification token */ token?: string; } interface BingVerification { /** BingVerification token */ token?: string; } interface YandexVerification { /** YandexVerification token */ token?: string; } interface NaverVerification { /** NaverVerification token */ token?: string; } interface GoogleAdWords { /** GoogleAdWords tracking_id */ trackingId?: string; } interface GoogleAnalytics { /** GoogleAnalytic tracking id */ trackingId?: string; /** GoogleAnalytic ip_anonymization */ ipAnonymization?: boolean | null; } interface YandexMetrica { /** YandexMetrica tracking_id */ trackingId?: string; } interface FacebookPixel { /** FacebookPixel tracking_id */ trackingId?: string; } interface GoogleTagManager { /** GoogleTagManager tracking_id */ trackingId?: string; } interface TikTokPixel { /** Specifies which TikTok Pixel is associated with the site owner */ trackingId?: string; } interface GoogleTagManagerConsentMode { /** Specifies which Google Tag Manager Container is associated with the site owner. */ trackingId?: string; } interface GoogleAnalyticsConsentMode { /** Specifies which Google property is associated with the site owner. */ trackingId?: string; /** Whether IP addresses of site visitors are hidden from Google. */ ipAnonymization?: boolean | null; } interface ExtendedFields { /** * Extended field data. Each key corresponds to the namespace of the app that created the extended fields. * The value of each key is structured according to the schema defined when the extended fields were configured. * * You can only access fields for which you have the appropriate permissions. * * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */ namespaces?: Record>; } interface CreateSiteEmbedRequest { /** Site embed to be created. */ siteEmbed: SiteEmbed; } interface CreateSiteEmbedResponse { /** Created site embed. */ siteEmbed?: SiteEmbed; } interface GetSiteEmbedRequest { /** Site embed ID. */ siteEmbedId: string; } interface GetSiteEmbedResponse { /** Requested site embed. */ siteEmbed?: SiteEmbed; } interface UpdateSiteEmbedRequest { /** Site embed to be updated. */ siteEmbed: SiteEmbed; } interface UpdateSiteEmbedResponse { /** Updated site embed. */ siteEmbed?: SiteEmbed; } interface DeleteSiteEmbedRequest { /** Site embed ID to delete. */ siteEmbedId: string; } interface DeleteSiteEmbedResponse { } interface PlaceSiteEmbedRequest { /** Site embed to be placed. */ siteEmbedId: string; /** Desired location for the embed within the relevant position. */ location?: Location; /** * ID of the site embed to come after this one. Required when setting the location to BEFORE_EMBED. * `LOCATION_UNSPECIFIED` is not supported. */ nextSiteEmbedId?: string | null; } declare enum Location { /** LOCATION_UNSPECIFIED, not allowed */ LOCATION_UNSPECIFIED = "LOCATION_UNSPECIFIED", /** LAST location, meaning place embed in the end of the list */ LAST = "LAST", /** BEFORE_EMBED location, meaning place embed before the embed specified in next_site_embed_id field */ BEFORE_EMBED = "BEFORE_EMBED" } interface PlaceSiteEmbedResponse { } interface QuerySiteEmbedsRequest { /** * Query options. * Filtering is supported for all site embed fields, with all relevant operators. See [API Query Language Filters](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section). * Sorting in ASC and DESC order is supported for all site embed fields. See [API Query Language Sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). */ query: CursorQuery; } interface CursorQuery extends CursorQueryPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section). */ filter?: Record | null; /** * Sort object. * * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). */ sort?: Sorting[]; } /** @oneof */ interface CursorQueryPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; } interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrder; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } interface CursorPaging { /** Maximum number of items to return in the results. */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. */ cursor?: string | null; } interface QuerySiteEmbedsResponse { /** List of site embeds. */ siteEmbeds?: SiteEmbed[]; /** Paging metadata */ pagingMetadata?: CursorPagingMetadata; } interface CursorPagingMetadata { /** Number of items returned in current page. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; } interface Cursors { /** Cursor string pointing to the next page in the list of results. */ next?: string | null; /** Cursor pointing to the previous page in the list of results. */ prev?: string | null; } interface UpdateExtendedFieldsRequest { /** ID of the entity to update. */ _id: string; /** Identifier for the app whose extended fields are being updated. */ namespace: string; /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */ namespaceData: Record | null; } interface UpdateExtendedFieldsResponse { /** Updated SiteEmbed */ siteEmbed?: SiteEmbed; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** * Unique event ID. * Allows clients to ignore duplicate webhooks. */ _id?: string; /** * Assumes actions are also always typed to an entity_type * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction */ entityFqdn?: string; /** * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug) * This is although the created/updated/deleted notion is duplication of the oneof types * Example: created/updated/deleted/started/completed/email_opened */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */ eventTime?: Date; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number defining the order of updates to the underlying entity. * For example, given that some entity was updated at 16:00 and than again at 16:01, * it is guaranteed that the sequence number of the second update is strictly higher than the first. * As the consumer, you can use this value to ensure that you handle messages in the correct order. * To do so, you will need to persist this number on your end, and compare the sequence number from the * message against the one you have stored. Given that the stored number is higher, you should ignore the message. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entity?: string; } interface RestoreInfo { deletedDate?: Date; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntity?: string; } interface EntityDeletedEvent { /** Entity that was deleted */ deletedEntity?: string | null; } interface ActionEvent { body?: string; } interface MessageEnvelope { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; } interface IdentificationData extends IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; /** @readonly */ identityType?: WebhookIdentityType; } /** @oneof */ interface IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } interface CustomEmbedNonNullableFields { category: Category; html: string; } interface VerificationCodeNonNullableFields { html: string; } interface HotjarNonNullableFields { trackingId: string; } interface PrivyNonNullableFields { trackingId: string; } interface HelloBarNonNullableFields { trackingId: string; } interface WisepopsNonNullableFields { trackingId: string; } interface GtagNonNullableFields { trackingId: string; } interface VwoNonNullableFields { trackingId: string; } interface VkRetargetingNonNullableFields { trackingId: string; } interface CallRailNonNullableFields { trackingId: string; } interface CrazyEggNonNullableFields { trackingId: string; } interface AppMarketNonNullableFields { appId: string; appVersion: string; } interface MobileBannerExperimentalNonNullableFields { appLink: string; } interface PaidAdsFacebookPixelNonNullableFields { pixelId: string; } interface GscVerificationNonNullableFields { token: string; } interface PinterestVerificationNonNullableFields { token: string; } interface BingVerificationNonNullableFields { token: string; } interface YandexVerificationNonNullableFields { token: string; } interface NaverVerificationNonNullableFields { token: string; } interface GoogleAdWordsNonNullableFields { trackingId: string; } interface GoogleAnalyticsNonNullableFields { trackingId: string; } interface YandexMetricaNonNullableFields { trackingId: string; } interface FacebookPixelNonNullableFields { trackingId: string; } interface GoogleTagManagerNonNullableFields { trackingId: string; } interface TikTokPixelNonNullableFields { trackingId: string; } interface GoogleTagManagerConsentModeNonNullableFields { trackingId: string; } interface GoogleAnalyticsConsentModeNonNullableFields { trackingId: string; } interface PageFilterNonNullableFields { pageIds: string[]; } interface SiteEmbedOrderNonNullableFields { position: PositionOnPage; positionPriority: number; elementPriority: number; } interface SiteEmbedNonNullableFields { customEmbedOptions?: CustomEmbedNonNullableFields; verificationCodeOptions?: VerificationCodeNonNullableFields; hotjarOptions?: HotjarNonNullableFields; privyOptions?: PrivyNonNullableFields; helloBarOptions?: HelloBarNonNullableFields; wisepopsOptions?: WisepopsNonNullableFields; gtagOptions?: GtagNonNullableFields; vwoOptions?: VwoNonNullableFields; vkRetargetingOptions?: VkRetargetingNonNullableFields; callRailOptions?: CallRailNonNullableFields; crazyEggOptions?: CrazyEggNonNullableFields; appMarketOptions?: AppMarketNonNullableFields; mobileBannerExperimentalOptions?: MobileBannerExperimentalNonNullableFields; paidAdsFacebookPixelOptions?: PaidAdsFacebookPixelNonNullableFields; gscVerificationOptions?: GscVerificationNonNullableFields; pinterestVerificationOptions?: PinterestVerificationNonNullableFields; bingVerificationOptions?: BingVerificationNonNullableFields; yandexVerificationOptions?: YandexVerificationNonNullableFields; naverVerificationOptions?: NaverVerificationNonNullableFields; googleAdWordsOptions?: GoogleAdWordsNonNullableFields; googleAnalyticsOptions?: GoogleAnalyticsNonNullableFields; yandexMetricaOptions?: YandexMetricaNonNullableFields; facebookPixelOptions?: FacebookPixelNonNullableFields; googleTagManagerOptions?: GoogleTagManagerNonNullableFields; tikTokPixelOptions?: TikTokPixelNonNullableFields; googleTagManagerConsentModeOptions?: GoogleTagManagerConsentModeNonNullableFields; googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentModeNonNullableFields; enabled: boolean; loadOnce: boolean; pageFilter?: PageFilterNonNullableFields; order?: SiteEmbedOrderNonNullableFields; siteEmbedType: SiteEmbedType; } interface CreateSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } interface GetSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } interface UpdateSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } interface QuerySiteEmbedsResponseNonNullableFields { siteEmbeds: SiteEmbedNonNullableFields[]; } interface UpdateExtendedFieldsResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } interface BaseEventMetadata { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; } interface EventMetadata extends BaseEventMetadata { /** * Unique event ID. * Allows clients to ignore duplicate webhooks. */ _id?: string; /** * Assumes actions are also always typed to an entity_type * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction */ entityFqdn?: string; /** * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug) * This is although the created/updated/deleted notion is duplication of the oneof types * Example: created/updated/deleted/started/completed/email_opened */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */ eventTime?: Date; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number defining the order of updates to the underlying entity. * For example, given that some entity was updated at 16:00 and than again at 16:01, * it is guaranteed that the sequence number of the second update is strictly higher than the first. * As the consumer, you can use this value to ensure that you handle messages in the correct order. * To do so, you will need to persist this number on your end, and compare the sequence number from the * message against the one you have stored. Given that the stored number is higher, you should ignore the message. */ entityEventSequence?: string | null; } interface SiteEmbedCreatedEnvelope { entity: SiteEmbed; metadata: EventMetadata; } interface SiteEmbedUpdatedEnvelope { entity: SiteEmbed; metadata: EventMetadata; } interface SiteEmbedDeletedEnvelope { metadata: EventMetadata; } interface UpdateSiteEmbed { /** Custom embed details. */ customEmbedOptions?: CustomEmbed; /** * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details. * This tag enables you to analyze what a visitor does after clicking on a Google ad. */ googleAdWordsOptions?: GoogleAdWords; /** * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310) * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310) * are supported. */ googleAnalyticsOptions?: GoogleAnalytics; /** * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag * enables you build visual reports of visitor activity that helps them evaluate the * performance of their marketing campaigns. */ yandexMetricaOptions?: YandexMetrica; /** * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details. * This tag enables you to track Facebook ad-driven visitor activity on their site. */ facebookPixelOptions?: FacebookPixel; /** * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This tag enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerOptions?: GoogleTagManager; /** * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details. * This embed enables you to share visitor events to TikTok on their site. */ tikTokPixelOptions?: TikTokPixel; /** * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This embed enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode; /** * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. */ googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode; /** * Site embed ID. * @readonly */ _id?: string | null; /** * Revision number, which increments by 1 each time the site embed is updated. * To prevent conflicting changes, * the current revision must be passed when updating a site embed. * @readonly */ revision?: string | null; /** Site embed name, as displayed to users. */ name?: string | null; /** Whether the site embed is enabled on the site. Defaults to `true`. */ enabled?: boolean; /** Whether to load the site embed once during initial site rendering, rather than on each page navigation. */ loadOnce?: boolean; /** Page IDs where the site embed should be loaded. Relevant for apps with [site page extensions](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-pages/about-site-page-extensions). By default, site embeds are applied to all site pages. */ pageFilter?: PageFilter; /** Site domain where the site embed is installed. */ domain?: string | null; /** Site embed position in the HTML. */ order?: SiteEmbedOrder; /** Site embed type. */ siteEmbedType?: SiteEmbedType; /** * Custom field data for the order object. / * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the Wix Dev Center before they can be accessed with API calls. */ extendedFields?: ExtendedFields; } interface PlaceSiteEmbedOptions { /** Desired location for the embed within the relevant position. */ location?: Location; /** * ID of the site embed to come after this one. Required when setting the location to BEFORE_EMBED. * `LOCATION_UNSPECIFIED` is not supported. */ nextSiteEmbedId?: string | null; } interface QueryCursorResult { cursors: Cursors; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } interface SiteEmbedsQueryResult extends QueryCursorResult { items: SiteEmbed[]; query: SiteEmbedsQueryBuilder; next: () => Promise; prev: () => Promise; } interface SiteEmbedsQueryBuilder { /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. * @documentationMaturity preview */ eq: (propertyName: '_id' | 'order.position' | 'siteEmbedType', value: any) => SiteEmbedsQueryBuilder; /** @documentationMaturity preview */ in: (propertyName: '_id' | 'order.position' | 'siteEmbedType', value: any) => SiteEmbedsQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. * @documentationMaturity preview */ ascending: (...propertyNames: Array<'order.positionPriority' | 'order.elementPriority'>) => SiteEmbedsQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. * @documentationMaturity preview */ descending: (...propertyNames: Array<'order.positionPriority' | 'order.elementPriority'>) => SiteEmbedsQueryBuilder; /** @param limit - Number of items to return, which is also the `pageSize` of the results object. * @documentationMaturity preview */ limit: (limit: number) => SiteEmbedsQueryBuilder; /** @param cursor - A pointer to specific record * @documentationMaturity preview */ skipTo: (cursor: string) => SiteEmbedsQueryBuilder; /** @documentationMaturity preview */ find: () => Promise; } interface UpdateExtendedFieldsOptions { /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */ namespaceData: Record | null; } declare function createSiteEmbed$1(httpClient: HttpClient): CreateSiteEmbedSignature; interface CreateSiteEmbedSignature { /** * Creates a site embed. * The request body must include the `type` field as well as the field corresponding to the passed type, and 'order.position'. * The embed will be placed at the end of the list within the new position. * @param - Site embed to be created. * @returns Created site embed. */ (siteEmbed: SiteEmbed): Promise; } declare function getSiteEmbed$1(httpClient: HttpClient): GetSiteEmbedSignature; interface GetSiteEmbedSignature { /** * Retrieves a site embed. * @param - Site embed ID. * @returns Requested site embed. */ (siteEmbedId: string): Promise; } declare function updateSiteEmbed$1(httpClient: HttpClient): UpdateSiteEmbedSignature; interface UpdateSiteEmbedSignature { /** * Updates a site embed. * When a site embed's position is changed, the embed will be placed at the end of the list within the new position. * @param - Site embed ID. * @returns Updated site embed. */ (_id: string | null, siteEmbed: UpdateSiteEmbed): Promise; } declare function deleteSiteEmbed$1(httpClient: HttpClient): DeleteSiteEmbedSignature; interface DeleteSiteEmbedSignature { /** * Deletes a site embed permanently. * @param - Site embed ID to delete. */ (siteEmbedId: string): Promise; } declare function placeSiteEmbed$1(httpClient: HttpClient): PlaceSiteEmbedSignature; interface PlaceSiteEmbedSignature { /** * Sets a site embed's placement order within the designated position. * @param - Site embed to be placed. */ (siteEmbedId: string, options?: PlaceSiteEmbedOptions | undefined): Promise; } declare function querySiteEmbeds$1(httpClient: HttpClient): QuerySiteEmbedsSignature; interface QuerySiteEmbedsSignature { /** * Retrieves a list of up to 100 site embeds, given the provided [paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-paging-section), [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section) and [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). * Filtering is supported for all site embed fields, with all relevant operators. * Sorting in ASC and DESC order is supported for all site embed fields. */ (): SiteEmbedsQueryBuilder; } declare function updateExtendedFields$1(httpClient: HttpClient): UpdateExtendedFieldsSignature; interface UpdateExtendedFieldsSignature { /** * Updates a site embed's extended fields. * @param - ID of the entity to update. * @param - Identifier for the app whose extended fields are being updated. */ (_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise; } declare const onSiteEmbedCreated$1: EventDefinition$1; declare const onSiteEmbedUpdated$1: EventDefinition$1; declare const onSiteEmbedDeleted$1: EventDefinition$1; type EventDefinition = { __type: 'event-definition'; type: Type; isDomainEvent?: boolean; transformations?: (envelope: unknown) => Payload; __payload: Payload; }; declare function EventDefinition(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): () => EventDefinition; type EventHandler = (payload: T['__payload']) => void | Promise; type BuildEventDefinition> = (handler: EventHandler) => void; declare global { // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged. interface SymbolConstructor { readonly observable: symbol; } } declare function createEventModule>(eventDefinition: T): BuildEventDefinition & T; declare const createSiteEmbed: MaybeContext & typeof createSiteEmbed$1>; declare const getSiteEmbed: MaybeContext & typeof getSiteEmbed$1>; declare const updateSiteEmbed: MaybeContext & typeof updateSiteEmbed$1>; declare const deleteSiteEmbed: MaybeContext & typeof deleteSiteEmbed$1>; declare const placeSiteEmbed: MaybeContext & typeof placeSiteEmbed$1>; declare const querySiteEmbeds: MaybeContext & typeof querySiteEmbeds$1>; declare const updateExtendedFields: MaybeContext & typeof updateExtendedFields$1>; type _publicOnSiteEmbedCreatedType = typeof onSiteEmbedCreated$1; /** * Triggered when a site embed is created. */ declare const onSiteEmbedCreated: ReturnType>; type _publicOnSiteEmbedUpdatedType = typeof onSiteEmbedUpdated$1; /** */ declare const onSiteEmbedUpdated: ReturnType>; type _publicOnSiteEmbedDeletedType = typeof onSiteEmbedDeleted$1; /** * Triggered when a site embed is deleted. */ declare const onSiteEmbedDeleted: ReturnType>; export { type ActionEvent, type AppMarket, type BaseEventMetadata, type BingVerification, type CallRail, Category, type CrazyEgg, type CreateSiteEmbedRequest, type CreateSiteEmbedResponse, type CreateSiteEmbedResponseNonNullableFields, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type CustomEmbed, type DeleteSiteEmbedRequest, type DeleteSiteEmbedResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExtendedFields, type FacebookPixel, type GetSiteEmbedRequest, type GetSiteEmbedResponse, type GetSiteEmbedResponseNonNullableFields, type GoogleAdWords, type GoogleAnalytics, type GoogleAnalyticsConsentMode, type GoogleTagManager, type GoogleTagManagerConsentMode, type GscVerification, type Gtag, type HelloBar, type Hotjar, type IdentificationData, type IdentificationDataIdOneOf, Location, type MessageEnvelope, type MobileBannerExperimental, type NaverVerification, type PageFilter, type PaidAdsFacebookPixel, type PinterestVerification, type PlaceSiteEmbedOptions, type PlaceSiteEmbedRequest, type PlaceSiteEmbedResponse, PositionOnPage, type Privy, type QuerySiteEmbedsRequest, type QuerySiteEmbedsResponse, type QuerySiteEmbedsResponseNonNullableFields, type RestoreInfo, type SiteEmbed, type SiteEmbedContentOneOf, type SiteEmbedCreatedEnvelope, type SiteEmbedDeletedEnvelope, type SiteEmbedNonNullableFields, type SiteEmbedOrder, SiteEmbedType, type SiteEmbedUpdatedEnvelope, type SiteEmbedsQueryBuilder, type SiteEmbedsQueryResult, SortOrder, type Sorting, type TikTokPixel, type UpdateExtendedFieldsOptions, type UpdateExtendedFieldsRequest, type UpdateExtendedFieldsResponse, type UpdateExtendedFieldsResponseNonNullableFields, type UpdateSiteEmbed, type UpdateSiteEmbedRequest, type UpdateSiteEmbedResponse, type UpdateSiteEmbedResponseNonNullableFields, type VerificationCode, type VkRetargeting, type Vwo, WebhookIdentityType, type Wisepops, type WixAnalytics, type YandexMetrica, type YandexVerification, type _publicOnSiteEmbedCreatedType, type _publicOnSiteEmbedDeletedType, type _publicOnSiteEmbedUpdatedType, createSiteEmbed, deleteSiteEmbed, getSiteEmbed, onSiteEmbedCreated, onSiteEmbedDeleted, onSiteEmbedUpdated, placeSiteEmbed, onSiteEmbedCreated$1 as publicOnSiteEmbedCreated, onSiteEmbedDeleted$1 as publicOnSiteEmbedDeleted, onSiteEmbedUpdated$1 as publicOnSiteEmbedUpdated, querySiteEmbeds, updateExtendedFields, updateSiteEmbed };