import { EventDefinition, HttpClient } from '@wix/sdk-types'; import { ListAvailableDatesInRangeOptions, ListAvailableDatesInRangeResponse, ListAvailableDatesInRangeResponseNonNullableFields, ListAvailableFulfillmentOptions, ListAvailableFulfillmentOptionsResponse, ListAvailableFulfillmentOptionsResponseNonNullableFields, ListAvailableTimeSlotsForDateOptions, ListAvailableTimeSlotsForDateResponse, ListAvailableTimeSlotsForDateResponseNonNullableFields, ListFirstAvailableTimeSlotForFulfillmentTypesOptions, ListFirstAvailableTimeSlotForFulfillmentTypesResponse, ListFirstAvailableTimeSlotForFulfillmentTypesResponseNonNullableFields, ListFirstAvailableTimeSlotsForMenusOptions, ListFirstAvailableTimeSlotsForMenusResponse, ListFirstAvailableTimeSlotsForMenusResponseNonNullableFields, ListFirstAvailableTimeSlotsForOperationsOptions, ListFirstAvailableTimeSlotsForOperationsResponse, ListFirstAvailableTimeSlotsForOperationsResponseNonNullableFields, ListOperationsResponse, ListOperationsResponseNonNullableFields, Operation, OperationCreatedEnvelope, OperationDeletedEnvelope, OperationNonNullableFields, OperationUpdatedEnvelope, OperationsQueryBuilder, UpdateOperation } from './restaurants-operations-v1-operation-operations.universal.js'; export declare const __metadata: { PACKAGE_NAME: string; }; export declare function createOperation(httpClient: HttpClient): CreateOperationSignature; interface CreateOperationSignature { /** * Creates a new operation. * @param - Operation to create. * @returns Created operation. */ (operation: Operation): Promise; } export declare function getOperation(httpClient: HttpClient): GetOperationSignature; interface GetOperationSignature { /** * Retrieves an operation. * @param - ID of the operation to retrieve. * @returns Retrieved operation. */ (operationId: string): Promise; } export declare function updateOperation(httpClient: HttpClient): UpdateOperationSignature; interface UpdateOperationSignature { /** * Updates an operation. * * If you update part of the `orderScheduling` property, the whole object is overwritten, * so you must include the entire object unless you are not updating `orderScheduling` at all.
* * Each time the operation is updated, * `revision` increments by 1. * The current `revision` must be passed when updating the operation. * This ensures you're working with the latest operation * and prevents unintended overwrites. * @param - Operation ID. * @returns Updated operation. */ (_id: string | null, operation: UpdateOperation): Promise; } export declare function deleteOperation(httpClient: HttpClient): DeleteOperationSignature; interface DeleteOperationSignature { /** * Deletes an operation. * @param - ID of the operation to delete. */ (operationId: string): Promise; } export declare function queryOperation(httpClient: HttpClient): QueryOperationSignature; interface QueryOperationSignature { /** * Creates a query to retrieve a list of operations. * * The `queryOperations()` function builds a query to retrieve a list of operations and returns an `OperationsQueryBuilder` object. * * The returned object contains the query definition, which is used to run the query using the [`find()`](/operations/operations-query-builder/find) function. * * You can refine the query by chaining `OperationsQueryBuilder` functions onto the query. `OperationsQueryBuilder` functions enable you to filter, sort, and control the results that `queryOperations()` returns. * * `queryOperations()` runs with the following `OperationsQueryBuilder` defaults, which you can override: * * * [`limit(50)`](/operations/operations-query-builder/limit) * * [`ascending('entityId')`](/operations/operations-methods-query-builder/ascending) * * The following `OperationsQueryBuilder` functions are supported for `queryOperations()`. For a full description of the operations object, see the object returned for the [`items`](/operations/operations-query-result/items) property in `OperationsQueryResult`. */ (): OperationsQueryBuilder; } export declare function listOperations(httpClient: HttpClient): ListOperationsSignature; interface ListOperationsSignature { /** * Retrieves a list of operations. * The result will be sorted by created date in ascending order. */ (): Promise; } export declare function listAvailableFulfillmentOptions(httpClient: HttpClient): ListAvailableFulfillmentOptionsSignature; interface ListAvailableFulfillmentOptionsSignature { /** * Retrieves a list of available fulfillment options. * * What makes a fulfillment option available is whether you can submit an order given the scheduling configurations and the fulfillment method's availability. * When a delivery address is not provided in the input, our system retrieves a list encompassing all types of fulfillment methods. * Conversely, if a delivery address` is given, the response may includes non-delivery fulfillment options along with delivery fulfillment methods that are applicable to the given address, ensuring the address falls within the defined delivery area of these methods. * @param - Operation ID. Returned fulfillment options will belong to this operation. */ (operationId: string, options?: ListAvailableFulfillmentOptions | undefined): Promise; } export declare function listFirstAvailableTimeSlotForFulfillmentTypes(httpClient: HttpClient): ListFirstAvailableTimeSlotForFulfillmentTypesSignature; interface ListFirstAvailableTimeSlotForFulfillmentTypesSignature { /** * Retrieves a list of available time slots for each fulfillment type. * * Each time slot is the first available time slot for the given fulfillment type. * @param - Operation ID. * Returned fulfillment options will belong to this operation. */ (operationId: string, options?: ListFirstAvailableTimeSlotForFulfillmentTypesOptions | undefined): Promise; } export declare function listFirstAvailableTimeSlotsForOperations(httpClient: HttpClient): ListFirstAvailableTimeSlotsForOperationsSignature; interface ListFirstAvailableTimeSlotsForOperationsSignature { /** * Retrieves a list of available time slots for each fulfillment type. * * Each time slot is the first available time slot for the given fulfillment type. * @param - Operation ID. * Returned fulfillment options will belong to this operation. */ (operationIds: string[], options?: ListFirstAvailableTimeSlotsForOperationsOptions | undefined): Promise; } export declare function listFirstAvailableTimeSlotsForMenus(httpClient: HttpClient): ListFirstAvailableTimeSlotsForMenusSignature; interface ListFirstAvailableTimeSlotsForMenusSignature { /** * For each menu, retrieves the first available time slots for each fulfillment type. * @param - Operation ID. * Returned timeslots that are belong to this operation. */ (operationId: string | null, options?: ListFirstAvailableTimeSlotsForMenusOptions | undefined): Promise; } export declare function listAvailableTimeSlotsForDate(httpClient: HttpClient): ListAvailableTimeSlotsForDateSignature; interface ListAvailableTimeSlotsForDateSignature { /** * Retrieves a list of the available time slots for a given date. * @param - Operation ID. * The returned fulfillment options will belong to this operation. */ (operationId: string, options?: ListAvailableTimeSlotsForDateOptions | undefined): Promise; } export declare function listAvailableDatesInRange(httpClient: HttpClient): ListAvailableDatesInRangeSignature; interface ListAvailableDatesInRangeSignature { /** * Retrieves a list of the available dates in a given time range. * * A date is considered available if it has at least one available time slot. * @param - Operation ID. * The returned fulfillment options will belong to this operation. */ (operationId: string, options?: ListAvailableDatesInRangeOptions | undefined): Promise; } export declare const onOperationCreated: EventDefinition; export declare const onOperationDeleted: EventDefinition; export declare const onOperationUpdated: EventDefinition; export { ActionEvent, Address, AddressHint, AddressLocation, App, AsapFutureHandlingType, AsapOrderScheduling, AsapOrderSchedulingAsapFutureHandlingOptionsOneOf, AsapPreorderType, AsapScheduling, AsapSchedulingAsapPreorderOneOf, AsapSchedulingPreparationTimeOneOf, AvailabilityException, BaseEventMetadata, BusinessDaysAheadHandling, BusinessDaysPreorder, BusinessLocationDetails, BusinessSchedule, Categories, ChangeContext, ChangeContextPayloadOneOf, CommonAddress, CommonAddressStreetOneOf, ConsentPolicy, CreateOperationRequest, CreateOperationResponse, CreateOperationResponseNonNullableFields, CursorPaging, CursorPagingMetadata, CursorQuery, CursorQueryPagingMethodOneOf, Cursors, DayAndTime, DayOfWeek, DayOfWeekAvailability, DeleteOperationRequest, DeleteOperationResponse, DeliveryDetails, DeliveryProfileConfiguredForOperation, DomainEvent, DomainEventBodyOneOf, DurationRange, Empty, EntitiesDayOfWeek, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventMetadata, File, FirstFulfillmentTimeSlotsPerMenu, FulfillmentAddress, FulfillmentDetails, FulfillmentDetailsFulfillmentTimeOptionsOneOf, FulfillmentOption, FulfillmentOptionAvailability, FulfillmentOptionFulfillmentTimeOptionsOneOf, FulfillmentOptionFulfillmentTimesDisplayOptionsOneOf, FulfillmentOptionFulfillmentTypeOptionsOneOf, FulfillmentTimeSlot, FulfillmentTimeType, FulfillmentTimesDisplayConfig, FulfillmentTimesDisplayConfigFulfillmentTimesDisplayOptionsOneOf, FulfillmentTimesDisplayType, FulfillmentTimesType, FulfillmentType, FulfillmentTypeAvailableDates, GeoCoordinates, GetExpectedFulfillmentSelectionRequest, GetExpectedFulfillmentSelectionResponse, GetOperationRequest, GetOperationResponse, GetOperationResponseNonNullableFields, IdentificationData, IdentificationDataIdOneOf, InvalidateCache, InvalidateCacheGetByOneOf, ListAvailableDatesInRangeOptions, ListAvailableDatesInRangeRequest, ListAvailableDatesInRangeResponse, ListAvailableDatesInRangeResponseNonNullableFields, ListAvailableFulfillmentOptions, ListAvailableFulfillmentOptionsRequest, ListAvailableFulfillmentOptionsResponse, ListAvailableFulfillmentOptionsResponseNonNullableFields, ListAvailableTimeSlotsForDateOptions, ListAvailableTimeSlotsForDateRequest, ListAvailableTimeSlotsForDateResponse, ListAvailableTimeSlotsForDateResponseNonNullableFields, ListFirstAvailableTimeSlotForFulfillmentTypesOptions, ListFirstAvailableTimeSlotForFulfillmentTypesRequest, ListFirstAvailableTimeSlotForFulfillmentTypesResponse, ListFirstAvailableTimeSlotForFulfillmentTypesResponseNonNullableFields, ListFirstAvailableTimeSlotsForMenusOptions, ListFirstAvailableTimeSlotsForMenusRequest, ListFirstAvailableTimeSlotsForMenusResponse, ListFirstAvailableTimeSlotsForMenusResponseNonNullableFields, ListFirstAvailableTimeSlotsForOperationsOptions, ListFirstAvailableTimeSlotsForOperationsRequest, ListFirstAvailableTimeSlotsForOperationsResponse, ListFirstAvailableTimeSlotsForOperationsResponseNonNullableFields, ListOperationIdsRequest, ListOperationIdsResponse, ListOperationsInternalRequest, ListOperationsInternalResponse, ListOperationsRequest, ListOperationsResponse, ListOperationsResponseNonNullableFields, Locale, MessageEnvelope, MethodType, Multilingual, OnlineOrderingPausedUntilOptions, OnlineOrderingStatusType, Operation, OperationCreatedEnvelope, OperationDeletedEnvelope, OperationNonNullableFields, OperationOnlineOrderingStatusOptionsOneOf, OperationTimeSlot, OperationUpdatedEnvelope, OperationsDataCloningCompleted, OperationsQueryBuilder, OperationsQueryResult, OrderScheduling, OrderSchedulingOrderSchedulingOptionsOneOf, Page, PickupDetails, PlacementType, PreorderMethod, PreorderMethodMethodOptionsOneOf, PreorderScheduling, PreparationTime, PreparationTimePreparationTimeType, PreparationTimeTimeSpecificationOneOf, PreparationTimeType, Properties, PropertiesChange, QueryOperationRequest, QueryOperationResponse, QueryOperationResponseNonNullableFields, ResolutionMethod, RestoreInfo, Scheduling, SchedulingSchedulingOptionsOneOf, SchedulingType, SiteCloned, SiteCreated, SitePropertiesEvent, SitePropertiesNotification, SortOrder, Sorting, SpecialHourPeriod, StreetAddress, Subdivision, SubdivisionType, SupportedLanguage, TimeBounded, TimeDuration, TimeDurationRange, TimeOfDay, TimeOfDayRange, TimePeriod, TimeUnit, TimeWindowDisplayConfig, Translation, URI, UpdateOperation, UpdateOperationRequest, UpdateOperationResponse, UpdateOperationResponseNonNullableFields, V1Address, V1AddressLocation, V1StreetAddress, WebhookIdentityType, WeeklySchedule, _Date, } from './restaurants-operations-v1-operation-operations.universal.js';