declare module "wix-motion-backend.v2" { interface AlarmMessage { _id?: string; seconds?: number; } interface Dispatched$1 { /** the message someone says */ echo?: EchoMessage$1; } interface EchoMessage$1 { /** message comment from EchoMessage proto def, with special comment */ message?: string; /** messages_list comment from EchoMessage proto def */ messagesList?: MessageItem$1[]; _id?: string; } interface MessageItem$1 { /** inner_message comment from EchoMessage proto def */ innerMessage?: string; } interface AlarmTestRequest { } interface AlarmTestResponse { } interface AlarmRequest { seconds: number; someString?: string; someOtherString?: string; someOtherField?: string; } interface AlarmResponse { time?: Date | null; } interface AlarmTriggered { } interface AlarmSnoozed { } interface AlarmDeleted { } interface UpdateAlarmRequest { alarm: AlarmMessage; /** @internal */ fieldMask?: string[]; } interface UpdateAlarmResponse { alarm?: AlarmMessage; } interface DomainEvent$1 extends DomainEventBodyOneOf$1 { createdEvent?: EntityCreatedEvent$1; updatedEvent?: EntityUpdatedEvent$1; deletedEvent?: EntityDeletedEvent$1; actionEvent?: ActionEvent$1; /** * 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 | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number 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$1 { createdEvent?: EntityCreatedEvent$1; updatedEvent?: EntityUpdatedEvent$1; deletedEvent?: EntityDeletedEvent$1; actionEvent?: ActionEvent$1; } interface EntityCreatedEvent$1 { entityAsJson?: string; /** * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity * @internal */ triggeredByUndelete?: boolean | null; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo$1; /** * WIP * @internal */ additionalMetadataAsJson?: string | null; } interface RestoreInfo$1 { deletedDate?: Date | null; } interface EntityUpdatedEvent$1 { /** * 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. */ currentEntityAsJson?: string; /** * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard * wont populate it / have any reference to it in the API. * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed, * the developer should send only the new (current) entity. * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message. * @internal * @deprecated */ previousEntityAsJson?: string | null; /** * WIP - This property will hold both names and values of the updated fields of the entity. * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363) * @internal */ modifiedFields?: Record; /** * WIP * @internal */ additionalMetadataAsJson?: string | null; } interface EntityDeletedEvent$1 { /** * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled * @internal */ movedToTrash?: boolean | null; /** Entity that was deleted */ deletedEntityAsJson?: string | null; /** * WIP * @internal */ additionalMetadataAsJson?: string | null; } interface ActionEvent$1 { bodyAsJson?: string; } interface MessageEnvelope$1 { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData$1; /** Stringify payload. */ data?: string; } interface IdentificationData$1 extends IdentificationDataIdOneOf$1 { /** 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$1; } /** @oneof */ interface IdentificationDataIdOneOf$1 { /** 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; } enum WebhookIdentityType$1 { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** * Some description * @public * @documentationMaturity preview * @permissionId METRO.ALARM_TEST_FAKE * @adminMethod */ function alarmTest(): Promise; /** * sets up an alarm after {seconds} * @public * @documentationMaturity preview * @requiredField seconds * @adminMethod */ function alarm(seconds: number, options?: AlarmOptions): Promise; interface AlarmOptions { someString?: string; someOtherString?: string; someOtherField?: string; } /** * sets up an existing alarm with id {id} * @public * @documentationMaturity preview * @requiredField _id * @requiredField alarm * @adminMethod */ function updateAlarm(_id: string, alarm: UpdateAlarm, options?: UpdateAlarmOptions): Promise; interface UpdateAlarm { _id?: string; seconds?: number; } interface UpdateAlarmOptions { /** @internal */ fieldMask?: string[]; } type alarmV1Alarm_universal_d_AlarmMessage = AlarmMessage; type alarmV1Alarm_universal_d_AlarmTestRequest = AlarmTestRequest; type alarmV1Alarm_universal_d_AlarmTestResponse = AlarmTestResponse; type alarmV1Alarm_universal_d_AlarmRequest = AlarmRequest; type alarmV1Alarm_universal_d_AlarmResponse = AlarmResponse; type alarmV1Alarm_universal_d_AlarmTriggered = AlarmTriggered; type alarmV1Alarm_universal_d_AlarmSnoozed = AlarmSnoozed; type alarmV1Alarm_universal_d_AlarmDeleted = AlarmDeleted; type alarmV1Alarm_universal_d_UpdateAlarmRequest = UpdateAlarmRequest; type alarmV1Alarm_universal_d_UpdateAlarmResponse = UpdateAlarmResponse; const alarmV1Alarm_universal_d_alarmTest: typeof alarmTest; const alarmV1Alarm_universal_d_alarm: typeof alarm; type alarmV1Alarm_universal_d_AlarmOptions = AlarmOptions; const alarmV1Alarm_universal_d_updateAlarm: typeof updateAlarm; type alarmV1Alarm_universal_d_UpdateAlarm = UpdateAlarm; type alarmV1Alarm_universal_d_UpdateAlarmOptions = UpdateAlarmOptions; namespace alarmV1Alarm_universal_d { export { alarmV1Alarm_universal_d_AlarmMessage as AlarmMessage, Dispatched$1 as Dispatched, EchoMessage$1 as EchoMessage, MessageItem$1 as MessageItem, alarmV1Alarm_universal_d_AlarmTestRequest as AlarmTestRequest, alarmV1Alarm_universal_d_AlarmTestResponse as AlarmTestResponse, alarmV1Alarm_universal_d_AlarmRequest as AlarmRequest, alarmV1Alarm_universal_d_AlarmResponse as AlarmResponse, alarmV1Alarm_universal_d_AlarmTriggered as AlarmTriggered, alarmV1Alarm_universal_d_AlarmSnoozed as AlarmSnoozed, alarmV1Alarm_universal_d_AlarmDeleted as AlarmDeleted, alarmV1Alarm_universal_d_UpdateAlarmRequest as UpdateAlarmRequest, alarmV1Alarm_universal_d_UpdateAlarmResponse as UpdateAlarmResponse, DomainEvent$1 as DomainEvent, DomainEventBodyOneOf$1 as DomainEventBodyOneOf, EntityCreatedEvent$1 as EntityCreatedEvent, RestoreInfo$1 as RestoreInfo, EntityUpdatedEvent$1 as EntityUpdatedEvent, EntityDeletedEvent$1 as EntityDeletedEvent, ActionEvent$1 as ActionEvent, MessageEnvelope$1 as MessageEnvelope, IdentificationData$1 as IdentificationData, IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, WebhookIdentityType$1 as WebhookIdentityType, alarmV1Alarm_universal_d_alarmTest as alarmTest, alarmV1Alarm_universal_d_alarm as alarm, alarmV1Alarm_universal_d_AlarmOptions as AlarmOptions, alarmV1Alarm_universal_d_updateAlarm as updateAlarm, alarmV1Alarm_universal_d_UpdateAlarm as UpdateAlarm, alarmV1Alarm_universal_d_UpdateAlarmOptions as UpdateAlarmOptions, }; } interface MessageItem { /** inner_message comment from EchoMessage proto def */ innerMessage?: string; } interface EchoRequest { /** 1st part of the message */ arg1: string; /** 2nd part of the message */ arg2?: string; /** this field test translatable annotation */ titleField?: string; someInt32?: number; someDate?: Date | null; } interface EchoResponse { /** message result as EchoMessage */ echoMessage?: EchoMessage; /** messge reseult as string */ message?: string; } interface Dispatched { /** the message someone says */ echo?: EchoMessage; } 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 | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number 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 { entityAsJson?: string; /** * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity * @internal */ triggeredByUndelete?: boolean | null; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; /** * WIP * @internal */ additionalMetadataAsJson?: string | null; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; /** * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard * wont populate it / have any reference to it in the API. * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed, * the developer should send only the new (current) entity. * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message. * @internal * @deprecated */ previousEntityAsJson?: string | null; /** * WIP - This property will hold both names and values of the updated fields of the entity. * For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363) * @internal */ modifiedFields?: Record; /** * WIP * @internal */ additionalMetadataAsJson?: string | null; } interface EntityDeletedEvent { /** * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled * @internal */ movedToTrash?: boolean | null; /** Entity that was deleted */ deletedEntityAsJson?: string | null; /** * WIP * @internal */ additionalMetadataAsJson?: string | null; } interface ActionEvent { bodyAsJson?: 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; } enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } interface EchoMessage { veloMessage: string; id: string; } /** * echo given arg1 and arg2 * @param arg1 - 1st part of the message * @public * @documentationMaturity preview * @requiredField arg1 * @param arg2 - modified comment for arg2 el hovav * @adminMethod * @returns messge reseult as string */ function echo(arg1: string, options?: EchoOptions): Promise; interface EchoOptions { /** 2nd part of the message */ arg2?: string; /** this field test translatable annotation */ titleField?: string; someInt32?: number; someDate?: Date | null; } type metroinspectorV1Echo_universal_d_MessageItem = MessageItem; type metroinspectorV1Echo_universal_d_EchoRequest = EchoRequest; type metroinspectorV1Echo_universal_d_EchoResponse = EchoResponse; type metroinspectorV1Echo_universal_d_Dispatched = Dispatched; type metroinspectorV1Echo_universal_d_DomainEvent = DomainEvent; type metroinspectorV1Echo_universal_d_DomainEventBodyOneOf = DomainEventBodyOneOf; type metroinspectorV1Echo_universal_d_EntityCreatedEvent = EntityCreatedEvent; type metroinspectorV1Echo_universal_d_RestoreInfo = RestoreInfo; type metroinspectorV1Echo_universal_d_EntityUpdatedEvent = EntityUpdatedEvent; type metroinspectorV1Echo_universal_d_EntityDeletedEvent = EntityDeletedEvent; type metroinspectorV1Echo_universal_d_ActionEvent = ActionEvent; type metroinspectorV1Echo_universal_d_MessageEnvelope = MessageEnvelope; type metroinspectorV1Echo_universal_d_IdentificationData = IdentificationData; type metroinspectorV1Echo_universal_d_IdentificationDataIdOneOf = IdentificationDataIdOneOf; type metroinspectorV1Echo_universal_d_WebhookIdentityType = WebhookIdentityType; const metroinspectorV1Echo_universal_d_WebhookIdentityType: typeof WebhookIdentityType; type metroinspectorV1Echo_universal_d_EchoMessage = EchoMessage; const metroinspectorV1Echo_universal_d_echo: typeof echo; type metroinspectorV1Echo_universal_d_EchoOptions = EchoOptions; namespace metroinspectorV1Echo_universal_d { export { metroinspectorV1Echo_universal_d_MessageItem as MessageItem, metroinspectorV1Echo_universal_d_EchoRequest as EchoRequest, metroinspectorV1Echo_universal_d_EchoResponse as EchoResponse, metroinspectorV1Echo_universal_d_Dispatched as Dispatched, metroinspectorV1Echo_universal_d_DomainEvent as DomainEvent, metroinspectorV1Echo_universal_d_DomainEventBodyOneOf as DomainEventBodyOneOf, metroinspectorV1Echo_universal_d_EntityCreatedEvent as EntityCreatedEvent, metroinspectorV1Echo_universal_d_RestoreInfo as RestoreInfo, metroinspectorV1Echo_universal_d_EntityUpdatedEvent as EntityUpdatedEvent, metroinspectorV1Echo_universal_d_EntityDeletedEvent as EntityDeletedEvent, metroinspectorV1Echo_universal_d_ActionEvent as ActionEvent, metroinspectorV1Echo_universal_d_MessageEnvelope as MessageEnvelope, metroinspectorV1Echo_universal_d_IdentificationData as IdentificationData, metroinspectorV1Echo_universal_d_IdentificationDataIdOneOf as IdentificationDataIdOneOf, metroinspectorV1Echo_universal_d_WebhookIdentityType as WebhookIdentityType, metroinspectorV1Echo_universal_d_EchoMessage as EchoMessage, metroinspectorV1Echo_universal_d_echo as echo, metroinspectorV1Echo_universal_d_EchoOptions as EchoOptions, }; } interface FocalPoint { /** X-coordinate of the focal point. */ x?: number; /** Y-coordinate of the focal point. */ y?: number; /** crop by height */ height?: number | null; /** crop by width */ width?: number | null; } /** Physical address */ interface Address extends AddressStreetOneOf { /** Street name and number. */ streetAddress?: StreetAddress; /** Main address line, usually street and number as free text. */ addressLine1?: string | null; /** Country code. */ country?: string | null; /** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */ subdivision?: string | null; /** City name. */ city?: string | null; /** Zip/postal code. */ postalCode?: string | null; /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */ addressLine2?: string | null; /** * A string containing the full address of this location. * @internal */ formatted?: string | null; /** * Coordinates of the physical address. * @internal */ location?: AddressLocation; } /** @oneof */ interface AddressStreetOneOf { /** Street name and number. */ streetAddress?: StreetAddress; /** Main address line, usually street and number as free text. */ addressLine?: string | null; } interface StreetAddress { /** Street number. */ number?: string; /** Street name. */ name?: string; /** * Apartment number. * @internal */ apt?: string; /** * Optional address line 1 * @internal */ formattedAddressLine?: string | null; } interface AddressLocation { /** Address latitude. */ latitude?: number | null; /** Address longitude. */ longitude?: number | null; } interface Subdivision { /** Short subdivision code. */ code?: string; /** Subdivision full name. */ name?: string; /** * Subdivision level * @internal */ type?: SubdivisionType; /** * Free text description of subdivision type. * @internal */ typeInfo?: string | null; /** * Standard organizations details (e.g. ISO). * @internal */ standardDetails?: StandardDetails; } enum SubdivisionType { UNKNOWN_SUBDIVISION_TYPE = "UNKNOWN_SUBDIVISION_TYPE", /** State */ ADMINISTRATIVE_AREA_LEVEL_1 = "ADMINISTRATIVE_AREA_LEVEL_1", /** County */ ADMINISTRATIVE_AREA_LEVEL_2 = "ADMINISTRATIVE_AREA_LEVEL_2", /** City/town */ ADMINISTRATIVE_AREA_LEVEL_3 = "ADMINISTRATIVE_AREA_LEVEL_3", /** Neighborhood/quarter */ ADMINISTRATIVE_AREA_LEVEL_4 = "ADMINISTRATIVE_AREA_LEVEL_4", /** Street/block */ ADMINISTRATIVE_AREA_LEVEL_5 = "ADMINISTRATIVE_AREA_LEVEL_5", /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */ COUNTRY = "COUNTRY" } /** Subdivision Concordance values */ interface StandardDetails { /** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */ iso31662?: string | null; } interface VideoResolution { /** Video URL. */ url?: string; /** Video height. */ height?: number; /** Video width. */ width?: number; /** * Deprecated. Use the `posters` property in the parent entity instead. * @internal * @deprecated */ poster?: string; /** Video format for example, mp4, hls. */ format?: string; /** * Deprecated. Use the `urlExpirationDate` property in the parent entity instead. * @internal * @deprecated */ urlExpirationDate?: Date | null; /** * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution. * @internal * @deprecated */ sizeInBytes?: string | null; /** * Video quality. For example: 480p, 720p. * @internal */ quality?: string | null; /** * Video filename. * @internal */ filename?: string | null; /** * Video duration in seconds. * @internal * @readonly * @deprecated Video duration in seconds. * @replacedBy duration_in_milliseconds * @targetRemovalDate 2024-08-01 */ durationInSeconds?: number | null; /** * Video duration in milliseconds. * @internal * @readonly */ durationInMilliseconds?: number | null; /** * When true, this is a protected asset, and calling the URL will return a 403 error. * In order to access private assets, make a request to: * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request * @internal * @readonly */ private?: boolean | null; /** * Key to identify the video resolution's relationship to the original media in WixMedia. * Can be used to request a download for the specific video resolution. * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4 * @internal * @readonly */ assetKey?: string | null; } interface PageLink { /** The page id we want from the site */ pageId?: string; /** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */ target?: string | null; /** rel of link */ rel?: LinkRel[]; } /** * The 'rel' attribute of the link. The rel attribute defines the relationship between a linked resource and the current document. * Further reading (also about different possible rel types): https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel * Following are the accepted 'rel' types by Wix applications. */ enum LinkRel { /** default (not implemented) */ unknown_link_rel = "unknown_link_rel", /** Indicates that the current document's original author or publisher does not endorse the referenced document. */ nofollow = "nofollow", /** Instructs the browser to navigate to the target resource without granting the new browsing context access to the document that opened it. */ noopener = "noopener", /** No Referer header will be included. Additionally, has the same effect as noopener. */ noreferrer = "noreferrer", /** Indicates a link that resulted from advertisements or paid placements. */ sponsored = "sponsored" } interface Variant { name?: string; value?: string; image?: string; } interface MyAddress { country?: string | null; subdivision?: string | null; city?: string | null; postalCode?: string | null; streetAddress?: StreetAddress; /** @internal */ formatted?: string | null; } interface CreateProductRequest { product?: Product; } interface CreateProductResponse { product?: Product; } interface DeleteProductRequest { productId: string; } interface DeleteProductResponse { } interface UpdateProductRequest { productId: string; product?: Product; /** * Explicit list of fields to update. * @internal */ mask?: string[]; } interface UpdateProductResponse { product?: Product; } interface GetProductRequest { productId: string; } interface GetProductResponse { product?: Product; } interface GetProductsStartWithRequest { title: string; addressLine2?: string | null; } interface GetProductsStartWithResponse { products?: Product[]; } interface QueryProductsRequest { query?: QueryV2; /** Whether variants should be included in the response. */ includeVariants?: boolean; /** Whether hidden products should be included in the response. Requires permissions to manage products. */ includeHiddenProducts?: boolean; /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */ includeMerchantSpecificData?: boolean; } interface QueryV2 extends QueryV2PagingMethodOneOf { /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; /** * Filter object. * * 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[]; /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */ fields?: string[]; /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */ fieldsets?: string[]; } /** @oneof */ interface QueryV2PagingMethodOneOf { /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrder; /** * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked. * * If multiple filters are provided, they are combined with AND operator. * * Example: * Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]} * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be * { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] } * @internal */ selectItemsBy?: Record[] | null; } enum SortOrder { ASC = "ASC", DESC = "DESC" } interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } 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 QueryProductsResponse { products?: Product[]; metadata?: PagingMetadataV2; } interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; /** * Indicates if there are more results after the current page. * If `true`, another page of results can be retrieved. * If `false`, this is the last page. * @internal */ 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 BulkCreateProductsRequest { products: Product[]; /** set to `true` if you wish to receive back the created products in the response */ returnEntity?: boolean; } interface BulkCreateProductsResponse { results?: BulkProductResult[]; bulkActionMetadata?: BulkActionMetadata; } interface ItemMetadata { /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */ _id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface BulkProductResult { /** Defined in wix.commons */ itemMetadata?: ItemMetadata; /** Only exists if `returnEntity` was set to true in the request */ item?: Product; } interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } interface BulkUpdateProductsRequest { products: MaskedProduct[]; /** set to `true` if you wish to receive back the updated products in the response */ returnEntity?: boolean; } interface MaskedProduct { /** Product to be updated, may be partial */ product?: Product; /** * Explicit list of fields to update. * @internal */ fieldMask?: string[]; } interface BulkUpdateProductsResponse { results?: BulkUpdateProductsResponseBulkProductResult[]; bulkActionMetadata?: BulkActionMetadata; } interface BulkUpdateProductsResponseBulkProductResult { itemMetadata?: ItemMetadata; /** Only exists if `returnEntity` was set to true in the request */ item?: Product; } interface BulkDeleteProductsRequest { productIds: string[]; } interface BulkDeleteProductsResponse { results?: BulkDeleteProductsResponseBulkProductResult[]; bulkActionMetadata?: BulkActionMetadata; } interface BulkDeleteProductsResponseBulkProductResult { itemMetadata?: ItemMetadata; } interface ResetProductsDbRequest { } interface ResetProductsDbResponse { } interface Product { _id: string; name: string | null; collectionId: string; _createdDate: Date | null; modifiedDate: Date | null; image: string; address: Address; document: string; video: string; pageLink: PageLink; audio: string; color: string | null; localDate: string | null; localTime: string | null; localDateTime: string | null; variants: Variant[]; mainVariant: Variant; customAddress: MyAddress; guid: string; } /** * Creating a product * @public * @documentationMaturity preview * @requiredField options.product.title * @adminMethod */ function createProduct(options?: CreateProductOptions): Promise; interface CreateProductOptions { product?: Product; } /** @public * @documentationMaturity preview * @requiredField productId * @adminMethod */ function deleteProduct(productId: string): Promise; /** @public * @documentationMaturity preview * @requiredField options.product._id * @requiredField productId * @adminMethod */ function updateProduct(productId: string, options?: UpdateProductOptions): Promise; interface UpdateProductOptions { product?: Product; /** * Explicit list of fields to update. * @internal */ mask?: string[]; } /** @public * @documentationMaturity preview * @requiredField productId * @adminMethod */ function getProduct(productId: string): Promise; /** @public * @documentationMaturity preview * @requiredField title * @adminMethod */ function getProductsStartWith(title: string, options?: GetProductsStartWithOptions): Promise; interface GetProductsStartWithOptions { addressLine2?: string | null; } /** @public * @documentationMaturity preview * @adminMethod */ function queryProducts(options?: QueryProductsOptions): ProductsQueryBuilder; interface QueryProductsOptions { /** Whether variants should be included in the response. */ includeVariants?: boolean | undefined; /** Whether hidden products should be included in the response. Requires permissions to manage products. */ includeHiddenProducts?: boolean | undefined; /** Whether merchant specific data should be included in the response. Requires permissions to manage products. */ includeMerchantSpecificData?: boolean | undefined; } interface QueryCursorResult { cursors: Cursors; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } interface ProductsQueryResult extends QueryCursorResult { items: Product[]; query: ProductsQueryBuilder; next: () => Promise; prev: () => Promise; } interface ProductsQueryBuilder { /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. * @documentationMaturity preview */ eq: (propertyName: 'title' | 'collectionId' | 'guid', value: any) => ProductsQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. * @documentationMaturity preview */ ne: (propertyName: 'title' | 'guid', value: any) => ProductsQueryBuilder; /** @param propertyName - Property whose value is compared with `string`. * @param string - String to compare against. Case-insensitive. * @documentationMaturity preview */ startsWith: (propertyName: 'title' | 'guid', value: string) => ProductsQueryBuilder; /** @param propertyName - Property whose value is compared with `values`. * @param values - List of values to compare against. * @documentationMaturity preview */ hasSome: (propertyName: 'title' | 'guid', value: any[]) => ProductsQueryBuilder; /** @documentationMaturity preview */ in: (propertyName: 'title' | 'guid', value: any) => ProductsQueryBuilder; /** @documentationMaturity preview */ exists: (propertyName: 'title' | 'guid', value: boolean) => ProductsQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. * @documentationMaturity preview */ ascending: (...propertyNames: Array<'title' | 'collectionId' | 'guid'>) => ProductsQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. * @documentationMaturity preview */ descending: (...propertyNames: Array<'title' | 'collectionId' | 'guid'>) => ProductsQueryBuilder; /** @param limit - Number of items to return, which is also the `pageSize` of the results object. * @documentationMaturity preview */ limit: (limit: number) => ProductsQueryBuilder; /** @param cursor - A pointer to specific record * @documentationMaturity preview */ skipTo: (cursor: string) => ProductsQueryBuilder; /** @documentationMaturity preview */ find: () => Promise; } /** * create multiple products in a single request. Works synchronously * @public * @documentationMaturity preview * @requiredField products * @adminMethod */ function bulkCreateProducts(products: Product[], options?: BulkCreateProductsOptions): Promise; interface BulkCreateProductsOptions { /** set to `true` if you wish to receive back the created products in the response */ returnEntity?: boolean; } /** * update multiple products in a single request. Works synchronously. * @public * @documentationMaturity preview * @requiredField products * @adminMethod */ function bulkUpdateProducts(products: MaskedProduct[], options?: BulkUpdateProductsOptions): Promise; interface BulkUpdateProductsOptions { /** set to `true` if you wish to receive back the updated products in the response */ returnEntity?: boolean; } /** * deletes multiple products in a single request. Works synchronously. * @public * @documentationMaturity preview * @requiredField productIds * @adminMethod */ function bulkDeleteProducts(productIds: string[]): Promise; /** @internal * @documentationMaturity preview * @adminMethod */ function resetProductsDb(): Promise; type metroinspectorV1Product_universal_d_FocalPoint = FocalPoint; type metroinspectorV1Product_universal_d_Address = Address; type metroinspectorV1Product_universal_d_AddressStreetOneOf = AddressStreetOneOf; type metroinspectorV1Product_universal_d_StreetAddress = StreetAddress; type metroinspectorV1Product_universal_d_AddressLocation = AddressLocation; type metroinspectorV1Product_universal_d_Subdivision = Subdivision; type metroinspectorV1Product_universal_d_SubdivisionType = SubdivisionType; const metroinspectorV1Product_universal_d_SubdivisionType: typeof SubdivisionType; type metroinspectorV1Product_universal_d_StandardDetails = StandardDetails; type metroinspectorV1Product_universal_d_VideoResolution = VideoResolution; type metroinspectorV1Product_universal_d_PageLink = PageLink; type metroinspectorV1Product_universal_d_LinkRel = LinkRel; const metroinspectorV1Product_universal_d_LinkRel: typeof LinkRel; type metroinspectorV1Product_universal_d_Variant = Variant; type metroinspectorV1Product_universal_d_MyAddress = MyAddress; type metroinspectorV1Product_universal_d_CreateProductRequest = CreateProductRequest; type metroinspectorV1Product_universal_d_CreateProductResponse = CreateProductResponse; type metroinspectorV1Product_universal_d_DeleteProductRequest = DeleteProductRequest; type metroinspectorV1Product_universal_d_DeleteProductResponse = DeleteProductResponse; type metroinspectorV1Product_universal_d_UpdateProductRequest = UpdateProductRequest; type metroinspectorV1Product_universal_d_UpdateProductResponse = UpdateProductResponse; type metroinspectorV1Product_universal_d_GetProductRequest = GetProductRequest; type metroinspectorV1Product_universal_d_GetProductResponse = GetProductResponse; type metroinspectorV1Product_universal_d_GetProductsStartWithRequest = GetProductsStartWithRequest; type metroinspectorV1Product_universal_d_GetProductsStartWithResponse = GetProductsStartWithResponse; type metroinspectorV1Product_universal_d_QueryProductsRequest = QueryProductsRequest; type metroinspectorV1Product_universal_d_QueryV2 = QueryV2; type metroinspectorV1Product_universal_d_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf; type metroinspectorV1Product_universal_d_Sorting = Sorting; type metroinspectorV1Product_universal_d_SortOrder = SortOrder; const metroinspectorV1Product_universal_d_SortOrder: typeof SortOrder; type metroinspectorV1Product_universal_d_Paging = Paging; type metroinspectorV1Product_universal_d_CursorPaging = CursorPaging; type metroinspectorV1Product_universal_d_QueryProductsResponse = QueryProductsResponse; type metroinspectorV1Product_universal_d_PagingMetadataV2 = PagingMetadataV2; type metroinspectorV1Product_universal_d_Cursors = Cursors; type metroinspectorV1Product_universal_d_BulkCreateProductsRequest = BulkCreateProductsRequest; type metroinspectorV1Product_universal_d_BulkCreateProductsResponse = BulkCreateProductsResponse; type metroinspectorV1Product_universal_d_ItemMetadata = ItemMetadata; type metroinspectorV1Product_universal_d_ApplicationError = ApplicationError; type metroinspectorV1Product_universal_d_BulkProductResult = BulkProductResult; type metroinspectorV1Product_universal_d_BulkActionMetadata = BulkActionMetadata; type metroinspectorV1Product_universal_d_BulkUpdateProductsRequest = BulkUpdateProductsRequest; type metroinspectorV1Product_universal_d_MaskedProduct = MaskedProduct; type metroinspectorV1Product_universal_d_BulkUpdateProductsResponse = BulkUpdateProductsResponse; type metroinspectorV1Product_universal_d_BulkUpdateProductsResponseBulkProductResult = BulkUpdateProductsResponseBulkProductResult; type metroinspectorV1Product_universal_d_BulkDeleteProductsRequest = BulkDeleteProductsRequest; type metroinspectorV1Product_universal_d_BulkDeleteProductsResponse = BulkDeleteProductsResponse; type metroinspectorV1Product_universal_d_BulkDeleteProductsResponseBulkProductResult = BulkDeleteProductsResponseBulkProductResult; type metroinspectorV1Product_universal_d_ResetProductsDbRequest = ResetProductsDbRequest; type metroinspectorV1Product_universal_d_ResetProductsDbResponse = ResetProductsDbResponse; type metroinspectorV1Product_universal_d_Product = Product; const metroinspectorV1Product_universal_d_createProduct: typeof createProduct; type metroinspectorV1Product_universal_d_CreateProductOptions = CreateProductOptions; const metroinspectorV1Product_universal_d_deleteProduct: typeof deleteProduct; const metroinspectorV1Product_universal_d_updateProduct: typeof updateProduct; type metroinspectorV1Product_universal_d_UpdateProductOptions = UpdateProductOptions; const metroinspectorV1Product_universal_d_getProduct: typeof getProduct; const metroinspectorV1Product_universal_d_getProductsStartWith: typeof getProductsStartWith; type metroinspectorV1Product_universal_d_GetProductsStartWithOptions = GetProductsStartWithOptions; const metroinspectorV1Product_universal_d_queryProducts: typeof queryProducts; type metroinspectorV1Product_universal_d_QueryProductsOptions = QueryProductsOptions; type metroinspectorV1Product_universal_d_ProductsQueryResult = ProductsQueryResult; type metroinspectorV1Product_universal_d_ProductsQueryBuilder = ProductsQueryBuilder; const metroinspectorV1Product_universal_d_bulkCreateProducts: typeof bulkCreateProducts; type metroinspectorV1Product_universal_d_BulkCreateProductsOptions = BulkCreateProductsOptions; const metroinspectorV1Product_universal_d_bulkUpdateProducts: typeof bulkUpdateProducts; type metroinspectorV1Product_universal_d_BulkUpdateProductsOptions = BulkUpdateProductsOptions; const metroinspectorV1Product_universal_d_bulkDeleteProducts: typeof bulkDeleteProducts; const metroinspectorV1Product_universal_d_resetProductsDb: typeof resetProductsDb; namespace metroinspectorV1Product_universal_d { export { metroinspectorV1Product_universal_d_FocalPoint as FocalPoint, metroinspectorV1Product_universal_d_Address as Address, metroinspectorV1Product_universal_d_AddressStreetOneOf as AddressStreetOneOf, metroinspectorV1Product_universal_d_StreetAddress as StreetAddress, metroinspectorV1Product_universal_d_AddressLocation as AddressLocation, metroinspectorV1Product_universal_d_Subdivision as Subdivision, metroinspectorV1Product_universal_d_SubdivisionType as SubdivisionType, metroinspectorV1Product_universal_d_StandardDetails as StandardDetails, metroinspectorV1Product_universal_d_VideoResolution as VideoResolution, metroinspectorV1Product_universal_d_PageLink as PageLink, metroinspectorV1Product_universal_d_LinkRel as LinkRel, metroinspectorV1Product_universal_d_Variant as Variant, metroinspectorV1Product_universal_d_MyAddress as MyAddress, metroinspectorV1Product_universal_d_CreateProductRequest as CreateProductRequest, metroinspectorV1Product_universal_d_CreateProductResponse as CreateProductResponse, metroinspectorV1Product_universal_d_DeleteProductRequest as DeleteProductRequest, metroinspectorV1Product_universal_d_DeleteProductResponse as DeleteProductResponse, metroinspectorV1Product_universal_d_UpdateProductRequest as UpdateProductRequest, metroinspectorV1Product_universal_d_UpdateProductResponse as UpdateProductResponse, metroinspectorV1Product_universal_d_GetProductRequest as GetProductRequest, metroinspectorV1Product_universal_d_GetProductResponse as GetProductResponse, metroinspectorV1Product_universal_d_GetProductsStartWithRequest as GetProductsStartWithRequest, metroinspectorV1Product_universal_d_GetProductsStartWithResponse as GetProductsStartWithResponse, metroinspectorV1Product_universal_d_QueryProductsRequest as QueryProductsRequest, metroinspectorV1Product_universal_d_QueryV2 as QueryV2, metroinspectorV1Product_universal_d_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, metroinspectorV1Product_universal_d_Sorting as Sorting, metroinspectorV1Product_universal_d_SortOrder as SortOrder, metroinspectorV1Product_universal_d_Paging as Paging, metroinspectorV1Product_universal_d_CursorPaging as CursorPaging, metroinspectorV1Product_universal_d_QueryProductsResponse as QueryProductsResponse, metroinspectorV1Product_universal_d_PagingMetadataV2 as PagingMetadataV2, metroinspectorV1Product_universal_d_Cursors as Cursors, metroinspectorV1Product_universal_d_BulkCreateProductsRequest as BulkCreateProductsRequest, metroinspectorV1Product_universal_d_BulkCreateProductsResponse as BulkCreateProductsResponse, metroinspectorV1Product_universal_d_ItemMetadata as ItemMetadata, metroinspectorV1Product_universal_d_ApplicationError as ApplicationError, metroinspectorV1Product_universal_d_BulkProductResult as BulkProductResult, metroinspectorV1Product_universal_d_BulkActionMetadata as BulkActionMetadata, metroinspectorV1Product_universal_d_BulkUpdateProductsRequest as BulkUpdateProductsRequest, metroinspectorV1Product_universal_d_MaskedProduct as MaskedProduct, metroinspectorV1Product_universal_d_BulkUpdateProductsResponse as BulkUpdateProductsResponse, metroinspectorV1Product_universal_d_BulkUpdateProductsResponseBulkProductResult as BulkUpdateProductsResponseBulkProductResult, metroinspectorV1Product_universal_d_BulkDeleteProductsRequest as BulkDeleteProductsRequest, metroinspectorV1Product_universal_d_BulkDeleteProductsResponse as BulkDeleteProductsResponse, metroinspectorV1Product_universal_d_BulkDeleteProductsResponseBulkProductResult as BulkDeleteProductsResponseBulkProductResult, metroinspectorV1Product_universal_d_ResetProductsDbRequest as ResetProductsDbRequest, metroinspectorV1Product_universal_d_ResetProductsDbResponse as ResetProductsDbResponse, metroinspectorV1Product_universal_d_Product as Product, metroinspectorV1Product_universal_d_createProduct as createProduct, metroinspectorV1Product_universal_d_CreateProductOptions as CreateProductOptions, metroinspectorV1Product_universal_d_deleteProduct as deleteProduct, metroinspectorV1Product_universal_d_updateProduct as updateProduct, metroinspectorV1Product_universal_d_UpdateProductOptions as UpdateProductOptions, metroinspectorV1Product_universal_d_getProduct as getProduct, metroinspectorV1Product_universal_d_getProductsStartWith as getProductsStartWith, metroinspectorV1Product_universal_d_GetProductsStartWithOptions as GetProductsStartWithOptions, metroinspectorV1Product_universal_d_queryProducts as queryProducts, metroinspectorV1Product_universal_d_QueryProductsOptions as QueryProductsOptions, metroinspectorV1Product_universal_d_ProductsQueryResult as ProductsQueryResult, metroinspectorV1Product_universal_d_ProductsQueryBuilder as ProductsQueryBuilder, metroinspectorV1Product_universal_d_bulkCreateProducts as bulkCreateProducts, metroinspectorV1Product_universal_d_BulkCreateProductsOptions as BulkCreateProductsOptions, metroinspectorV1Product_universal_d_bulkUpdateProducts as bulkUpdateProducts, metroinspectorV1Product_universal_d_BulkUpdateProductsOptions as BulkUpdateProductsOptions, metroinspectorV1Product_universal_d_bulkDeleteProducts as bulkDeleteProducts, metroinspectorV1Product_universal_d_resetProductsDb as resetProductsDb, }; } export { alarmV1Alarm_universal_d as alarms, metroinspectorV1Echo_universal_d as metroinspector, metroinspectorV1Product_universal_d as products }; }