import * as _wix_sdk_types from '@wix/sdk-types'; import { QuerySpec, Query, NonNullablePaths } from '@wix/sdk-types'; /** * An operation group is a aggregation of operations that each one of them point to a different location. * Each operation group has different ordering page. */ interface OperationGroup { /** * OperationsGroup ID. * @format GUID * @readonly */ _id?: string | null; /** * Revision number, which increments by 1 each time the OperationsGroup is updated. * To prevent conflicting changes, * the current revision must be passed when updating the OperationsGroup. * * Ignored when creating a OperationsGroup. * @readonly */ revision?: string | null; /** * Date and time the OperationsGroup was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the OperationsGroup was last updated. * @readonly */ _updatedDate?: Date | null; /** * The name of the operations group * @minLength 1 * @maxLength 500 */ name?: string | null; /** Data Extensions */ extendedFields?: ExtendedFields; /** Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of operation groups. */ tags?: Tags; } 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>; } /** * Common object for tags. * Should be use as in this example: * message Foo { * string id = 1; * ... * Tags tags = 5 * } * * example of taggable entity * { * id: "123" * tags: { * tags: { * tag_ids:["11","22"] * }, * private_tags: { * tag_ids: ["33", "44"] * } * } * } */ interface Tags { /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */ privateTags?: TagList; /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */ tags?: TagList; } interface TagList { /** * List of tag IDs * @maxSize 100 * @maxLength 5 */ tagIds?: string[]; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ _id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entity?: string; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntity?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntity?: string | null; } interface ActionEvent { body?: string; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } interface CreateOperationGroupRequest { /** OperationGroup to be created. */ operationGroup: OperationGroup; } interface CreateOperationGroupResponse { /** The created OperationGroup. */ operationGroup?: OperationGroup; } interface GetOperationGroupRequest { /** * ID of the OperationGroup to retrieve. * @format GUID */ operationGroupId: string; } interface GetOperationGroupResponse { /** The requested OperationGroup. */ operationGroup?: OperationGroup; } interface UpdateOperationGroupRequest { /** OperationGroup to be updated, may be partial. */ operationGroup: OperationGroup; } interface UpdateOperationGroupResponse { /** Updated OperationGroup. */ operationGroup?: OperationGroup; } interface DeleteOperationGroupRequest { /** * Id of the OperationGroup to delete. * @format GUID */ operationGroupId: string; } interface DeleteOperationGroupResponse { } interface QueryOperationGroupsRequest { /** WQL expression. */ query?: CursorQuery; } interface CursorQuery extends CursorQueryPagingMethodOneOf { /** 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 in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: Record | null; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` * @maxSize 5 */ sort?: Sorting[]; } /** @oneof */ interface CursorQueryPagingMethodOneOf { /** 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. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface CursorPaging { /** * Maximum number of items to return in the results. * @max 100 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. * @maxLength 16000 */ cursor?: string | null; } interface QueryOperationGroupsResponse { /** List of OperationGroups. */ operationGroups?: OperationGroup[]; /** Paging metadata */ pagingMetadata?: CursorPagingMetadata; } interface CursorPagingMetadata { /** Number of items returned in the response. */ 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. * @maxLength 16000 */ next?: string | null; /** * Cursor pointing to the previous page in the list of results. * @maxLength 16000 */ prev?: string | null; } interface BulkCreateOperationGroupsRequest { /** * List of OperationGroups to be created * @minSize 1 * @maxSize 100 */ operationGroups: OperationGroup[]; /** set to `true` if you wish to receive back the created OperationGroups in the response */ returnEntity?: boolean; } interface BulkCreateOperationGroupsResponse { /** * List of the bulk create operation results including the OperationGroups and metadata. * @minSize 1 * @maxSize 100 */ results?: BulkOperationGroupResult[]; /** Metadata regarding the bulk create operation */ bulkActionMetadata?: BulkActionMetadata; } interface ItemMetadata { /** * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). * @format GUID */ _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 BulkOperationGroupResult { /** Metadata regarding the specific single create operation */ itemMetadata?: ItemMetadata; /** Only exists if `returnEntity` was set to true in the request */ item?: OperationGroup; } 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 BulkUpdateOperationGroupsRequest { /** * List of OperationGroups to be updated. * @minSize 1 * @maxSize 100 */ operationGroups: MaskedOperationGroup[]; /** set to `true` if you wish to receive back the updated OperationGroups in the response */ returnEntity?: boolean; } interface MaskedOperationGroup { /** OperationGroup to be updated, may be partial */ operationGroup?: OperationGroup; } interface BulkUpdateOperationGroupsResponse { /** * Results * @minSize 1 * @maxSize 100 */ results?: BulkUpdateOperationGroupsResponseBulkOperationGroupResult[]; /** Metadata regarding the bulk update operation */ bulkActionMetadata?: BulkActionMetadata; } interface BulkUpdateOperationGroupsResponseBulkOperationGroupResult { /** Metadata regarding the specific single update operation */ itemMetadata?: ItemMetadata; /** Only exists if `returnEntity` was set to true in the request */ item?: OperationGroup; } interface BulkDeleteOperationGroupsRequest { /** * OperationGroup ids to be deleted * @minSize 1 * @maxSize 100 * @format GUID */ operationGroupIds: string[]; } interface BulkDeleteOperationGroupsResponse { /** * Results * @minSize 1 * @maxSize 100 */ results?: BulkDeleteOperationGroupsResponseBulkOperationGroupResult[]; /** Metadata regarding the bulk delete operation */ bulkActionMetadata?: BulkActionMetadata; } interface BulkDeleteOperationGroupsResponseBulkOperationGroupResult { /** Metadata regarding the specific single delete operation */ itemMetadata?: ItemMetadata; } interface BulkUpdateOperationGroupTagsRequest { /** * IDs of the operation groups to update tags for. * @minSize 1 * @maxSize 100 * @format GUID */ operationGroupIds: string[]; /** Tags to assign to the operation groups. */ assignTags?: Tags; /** Tags to unassign from the operation groups. */ unassignTags?: Tags; } interface BulkUpdateOperationGroupTagsResponse { /** * Results of the bulk update. * @minSize 1 * @maxSize 100 */ results?: BulkUpdateOperationGroupTagsResult[]; /** Metadata for the bulk update. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkUpdateOperationGroupTagsResult { /** Metadata for the updated operation group. */ itemMetadata?: ItemMetadata; } interface BulkUpdateOperationGroupTagsByFilterRequest { /** Filter that determines which operation groups to update tags for. */ filter: Record | null; /** Tags to assign to the operation groups. */ assignTags?: Tags; /** Tags to unassign from the operation groups. */ unassignTags?: Tags; } interface BulkUpdateOperationGroupTagsByFilterResponse { /** * Job ID. Pass this ID to Get Async Job ([SDK](https://dev.wix.com/docs/sdk/backend-modules/async-jobs/get-async-job) | [REST](https://dev.wix.com/docs/rest/business-management/async-job/get-async-job)) to track the job's status. * @format GUID */ jobId?: string; } /** @docsIgnore */ type BulkUpdateOperationGroupTagsApplicationErrors = { code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS'; description?: string; data?: Record; }; /** @docsIgnore */ type BulkUpdateOperationGroupTagsByFilterApplicationErrors = { code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS'; description?: string; data?: Record; }; interface BaseEventMetadata { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Details related to the account */ accountInfo?: AccountInfo; } interface EventMetadata extends BaseEventMetadata { /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ _id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; accountInfo?: AccountInfoMetadata; } interface AccountInfoMetadata { /** ID of the Wix account associated with the event */ accountId: string; /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */ siteId?: string; /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */ parentAccountId?: string; } interface OperationGroupCreatedEnvelope { entity: OperationGroup; metadata: EventMetadata; } /** @permissionScope Manage Restaurants - all permissions * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES * @permissionId RESTAURANTS.OPERATION_GROUP_READ * @webhook * @eventType wix.restaurants.v1.operation_group_created * @slug created * @documentationMaturity preview */ declare function onOperationGroupCreated(handler: (event: OperationGroupCreatedEnvelope) => void | Promise): void; interface OperationGroupDeletedEnvelope { entity: OperationGroup; metadata: EventMetadata; } /** @permissionScope Manage Restaurants - all permissions * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES * @permissionId RESTAURANTS.OPERATION_GROUP_READ * @webhook * @eventType wix.restaurants.v1.operation_group_deleted * @slug deleted * @documentationMaturity preview */ declare function onOperationGroupDeleted(handler: (event: OperationGroupDeletedEnvelope) => void | Promise): void; interface OperationGroupUpdatedEnvelope { entity: OperationGroup; metadata: EventMetadata; /** @hidden */ modifiedFields: Record; } /** @permissionScope Manage Restaurants - all permissions * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES * @permissionId RESTAURANTS.OPERATION_GROUP_READ * @webhook * @eventType wix.restaurants.v1.operation_group_updated * @slug updated * @documentationMaturity preview */ declare function onOperationGroupUpdated(handler: (event: OperationGroupUpdatedEnvelope) => void | Promise): void; /** * Creates a OperationGroup. * @param operationGroup - OperationGroup to be created. * @public * @requiredField operationGroup * @requiredField operationGroup.name * @permissionId RESTAURANTS.OPERATION_GROUP_CREATE * @applicableIdentity APP * @returns The created OperationGroup. * @fqn wix.restaurants.v1.OperationGroupService.CreateOperationGroup */ declare function createOperationGroup(operationGroup: NonNullablePaths): Promise>; /** * Retrieves a OperationGroup. * @param operationGroupId - ID of the OperationGroup to retrieve. * @public * @requiredField operationGroupId * @permissionId RESTAURANTS.OPERATION_GROUP_READ * @applicableIdentity APP * @returns The requested OperationGroup. * @fqn wix.restaurants.v1.OperationGroupService.GetOperationGroup */ declare function getOperationGroup(operationGroupId: string): Promise>; /** * Updates a OperationGroup. * * * Each time the OperationGroup is updated, * `revision` increments by 1. * The current `revision` must be passed when updating the OperationGroup. * This ensures you're working with the latest OperationGroup * and prevents unintended overwrites. * @param _id - OperationsGroup ID. * @public * @requiredField _id * @requiredField operationGroup * @requiredField operationGroup.revision * @permissionId RESTAURANTS.OPERATION_GROUP_UPDATE * @applicableIdentity APP * @returns Updated OperationGroup. * @fqn wix.restaurants.v1.OperationGroupService.UpdateOperationGroup */ declare function updateOperationGroup(_id: string, operationGroup: NonNullablePaths): Promise>; interface UpdateOperationGroup { /** * OperationsGroup ID. * @format GUID * @readonly */ _id?: string | null; /** * Revision number, which increments by 1 each time the OperationsGroup is updated. * To prevent conflicting changes, * the current revision must be passed when updating the OperationsGroup. * * Ignored when creating a OperationsGroup. * @readonly */ revision?: string | null; /** * Date and time the OperationsGroup was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the OperationsGroup was last updated. * @readonly */ _updatedDate?: Date | null; /** * The name of the operations group * @minLength 1 * @maxLength 500 */ name?: string | null; /** Data Extensions */ extendedFields?: ExtendedFields; /** Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of operation groups. */ tags?: Tags; } /** * Deletes a OperationGroup. * * * Deleting a OperationGroup permanently removes them from the OperationGroup List. * @param operationGroupId - Id of the OperationGroup to delete. * @public * @requiredField operationGroupId * @permissionId RESTAURANTS.OPERATION_GROUP_DELETE * @applicableIdentity APP * @fqn wix.restaurants.v1.OperationGroupService.DeleteOperationGroup */ declare function deleteOperationGroup(operationGroupId: string): Promise; /** * Retrieves a list of OperationGroups. * @public * @permissionId RESTAURANTS.OPERATION_GROUP_READ * @applicableIdentity APP * @fqn wix.restaurants.v1.OperationGroupService.QueryOperationGroups */ declare function queryOperationGroups(): OperationGroupsQueryBuilder; interface QueryCursorResult { cursors: Cursors; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } interface OperationGroupsQueryResult extends QueryCursorResult { items: OperationGroup[]; query: OperationGroupsQueryBuilder; next: () => Promise; prev: () => Promise; } interface OperationGroupsQueryBuilder { /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ eq: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => OperationGroupsQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ ne: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => OperationGroupsQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ ge: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => OperationGroupsQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ gt: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => OperationGroupsQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ le: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => OperationGroupsQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. */ lt: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => OperationGroupsQueryBuilder; /** @param propertyName - Property whose value is compared with `string`. * @param string - String to compare against. Case-insensitive. */ startsWith: (propertyName: '_id' | 'name', value: string) => OperationGroupsQueryBuilder; in: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: any) => OperationGroupsQueryBuilder; exists: (propertyName: '_id' | '_createdDate' | '_updatedDate' | 'name', value: boolean) => OperationGroupsQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */ ascending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'name'>) => OperationGroupsQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */ descending: (...propertyNames: Array<'_id' | '_createdDate' | '_updatedDate' | 'name'>) => OperationGroupsQueryBuilder; /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */ limit: (limit: number) => OperationGroupsQueryBuilder; /** @param cursor - A pointer to specific record */ skipTo: (cursor: string) => OperationGroupsQueryBuilder; find: () => Promise; } /** * @hidden * @fqn wix.restaurants.v1.OperationGroupService.QueryOperationGroups * @requiredField query */ declare function typedQueryOperationGroups(query: OperationGroupQuery): Promise>; interface OperationGroupQuerySpec extends QuerySpec { paging: 'cursor'; wql: [ { fields: ['_createdDate', '_id', '_updatedDate', 'name']; operators: '*'; sort: 'BOTH'; } ]; } type CommonQueryWithEntityContext = Query; type OperationGroupQuery = { /** 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?: { /** Maximum number of items to return in the results. @max: 100 */ limit?: NonNullable['limit'] | null; /** Pointer to the next or previous page in the list of results. Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. Not relevant for the first request. @maxLength: 16000 */ cursor?: NonNullable['cursor'] | null; }; /** Filter object in the following format: `"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }` Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: CommonQueryWithEntityContext['filter'] | null; /** Sort object in the following format: `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` @maxSize: 5 */ sort?: { /** Name of the field to sort by. @maxLength: 512 */ fieldName?: NonNullable[number]['fieldName']; /** Sort order. */ order?: NonNullable[number]['order']; }[]; }; declare const utils: { query: _wix_sdk_types.QueryHelpers; }; /** * Create multiple OperationGroups in a single request. Works synchronously. * @param operationGroups - List of OperationGroups to be created * @public * @requiredField operationGroups * @requiredField operationGroups.name * @permissionId RESTAURANTS.OPERATION_GROUP_CREATE * @applicableIdentity APP * @fqn wix.restaurants.v1.OperationGroupService.BulkCreateOperationGroups */ declare function bulkCreateOperationGroups(operationGroups: NonNullablePaths[], options?: BulkCreateOperationGroupsOptions): Promise>; interface BulkCreateOperationGroupsOptions { /** set to `true` if you wish to receive back the created OperationGroups in the response */ returnEntity?: boolean; } /** * Update multiple OperationGroups in a single request. Works synchronously. * @param operationGroups - List of OperationGroups to be updated. * @public * @requiredField operationGroups * @requiredField operationGroups.operationGroup.revision * @permissionId RESTAURANTS.OPERATION_GROUP_UPDATE * @applicableIdentity APP * @fqn wix.restaurants.v1.OperationGroupService.BulkUpdateOperationGroups */ declare function bulkUpdateOperationGroups(operationGroups: NonNullablePaths[], options?: BulkUpdateOperationGroupsOptions): Promise>; interface BulkUpdateOperationGroupsOptions { /** set to `true` if you wish to receive back the updated OperationGroups in the response */ returnEntity?: boolean; } /** * Delete multiple OperationGroups in a single request. Works synchronously. * @param operationGroupIds - OperationGroup ids to be deleted * @public * @requiredField operationGroupIds * @permissionId RESTAURANTS.OPERATION_GROUP_DELETE * @applicableIdentity APP * @fqn wix.restaurants.v1.OperationGroupService.BulkDeleteOperationGroups */ declare function bulkDeleteOperationGroups(operationGroupIds: string[]): Promise>; /** * Synchronously update tags on multiple operation groups. * If you specify a tag in both `assignTags` and `unassignTags`, it is assigned. * @param operationGroupIds - IDs of the operation groups to update tags for. * @public * @requiredField operationGroupIds * @permissionId RESTAURANTS.OPERATION_GROUP_UPDATE_TAGS * @applicableIdentity APP * @fqn wix.restaurants.v1.OperationGroupService.BulkUpdateOperationGroupTags */ declare function bulkUpdateOperationGroupTags(operationGroupIds: string[], options?: BulkUpdateOperationGroupTagsOptions): Promise & { __applicationErrorsType?: BulkUpdateOperationGroupTagsApplicationErrors; }>; interface BulkUpdateOperationGroupTagsOptions { /** Tags to assign to the operation groups. */ assignTags?: Tags; /** Tags to unassign from the operation groups. */ unassignTags?: Tags; } /** * Asynchronously update tags on multiple operation groups according to the specified filter. * If a filter isn't specified, this method updates all operation groups. * If you specify a tag in both `assignTags` and `unassignTags`, it is assigned. * @param filter - Filter that determines which operation groups to update tags for. * @public * @requiredField filter * @permissionId RESTAURANTS.OPERATION_GROUP_UPDATE_TAGS * @applicableIdentity APP * @fqn wix.restaurants.v1.OperationGroupService.BulkUpdateOperationGroupTagsByFilter */ declare function bulkUpdateOperationGroupTagsByFilter(filter: Record, options?: BulkUpdateOperationGroupTagsByFilterOptions): Promise & { __applicationErrorsType?: BulkUpdateOperationGroupTagsByFilterApplicationErrors; }>; interface BulkUpdateOperationGroupTagsByFilterOptions { /** Tags to assign to the operation groups. */ assignTags?: Tags; /** Tags to unassign from the operation groups. */ unassignTags?: Tags; } export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type ApplicationError, type BaseEventMetadata, type BulkActionMetadata, type BulkCreateOperationGroupsOptions, type BulkCreateOperationGroupsRequest, type BulkCreateOperationGroupsResponse, type BulkDeleteOperationGroupsRequest, type BulkDeleteOperationGroupsResponse, type BulkDeleteOperationGroupsResponseBulkOperationGroupResult, type BulkOperationGroupResult, type BulkUpdateOperationGroupTagsApplicationErrors, type BulkUpdateOperationGroupTagsByFilterApplicationErrors, type BulkUpdateOperationGroupTagsByFilterOptions, type BulkUpdateOperationGroupTagsByFilterRequest, type BulkUpdateOperationGroupTagsByFilterResponse, type BulkUpdateOperationGroupTagsOptions, type BulkUpdateOperationGroupTagsRequest, type BulkUpdateOperationGroupTagsResponse, type BulkUpdateOperationGroupTagsResult, type BulkUpdateOperationGroupsOptions, type BulkUpdateOperationGroupsRequest, type BulkUpdateOperationGroupsResponse, type BulkUpdateOperationGroupsResponseBulkOperationGroupResult, type CommonQueryWithEntityContext, type CreateOperationGroupRequest, type CreateOperationGroupResponse, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type DeleteOperationGroupRequest, type DeleteOperationGroupResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExtendedFields, type GetOperationGroupRequest, type GetOperationGroupResponse, type IdentificationData, type IdentificationDataIdOneOf, type ItemMetadata, type MaskedOperationGroup, type MessageEnvelope, type OperationGroup, type OperationGroupCreatedEnvelope, type OperationGroupDeletedEnvelope, type OperationGroupQuery, type OperationGroupQuerySpec, type OperationGroupUpdatedEnvelope, type OperationGroupsQueryBuilder, type OperationGroupsQueryResult, type QueryOperationGroupsRequest, type QueryOperationGroupsResponse, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, type TagList, type Tags, type UpdateOperationGroup, type UpdateOperationGroupRequest, type UpdateOperationGroupResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkCreateOperationGroups, bulkDeleteOperationGroups, bulkUpdateOperationGroupTags, bulkUpdateOperationGroupTagsByFilter, bulkUpdateOperationGroups, createOperationGroup, deleteOperationGroup, getOperationGroup, onOperationGroupCreated, onOperationGroupDeleted, onOperationGroupUpdated, queryOperationGroups, typedQueryOperationGroups, updateOperationGroup, utils };