import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types'; import { BookingLineItem, PreviewPriceResponse, PreviewPriceApplicationErrors, Booking, CalculatePriceResponse, CalculatePriceApplicationErrors } from './index.typings.js'; export { Actor, ActorWithLiterals, Address, AddressLocation, AddressStreetOneOf, BookedAddOn, BookedEntity, BookedEntityItemOneOf, BookedResource, BookedSchedule, BookedSlot, BookingParticipantsInfoOneOf, BookingSource, BookingStatus, BookingStatusWithLiterals, CalculatePriceRequest, ContactDetails, CustomFormField, Duration, ExtendedFields, FlowControlSettings, IdentificationData, IdentificationDataIdOneOf, IdentityType, IdentityTypeWithLiterals, Location, LocationType, LocationTypeWithLiterals, MultiServiceBookingInfo, MultiServiceBookingType, MultiServiceBookingTypeWithLiterals, ParticipantChoices, ParticipantNotification, PaymentStatus, PaymentStatusWithLiterals, PhoneCall, Platform, PlatformWithLiterals, PreviewPriceRequest, PriceDescriptionInfo, PriceInfo, PriceInfoTotalPriceOneOf, PricingServiceChoices, ResourceSelection, ResourceTransparency, ResourceTransparencyWithLiterals, SelectedPaymentOption, SelectedPaymentOptionWithLiterals, SelectionMethod, SelectionMethodWithLiterals, ServiceChoice, ServiceChoiceChoiceOneOf, ServiceChoices, StreetAddress, Subdivision, ValueType, ValueTypeWithLiterals } from './index.typings.js'; declare function previewPrice$1(httpClient: HttpClient): PreviewPriceSignature; interface PreviewPriceSignature { /** * Previews the base price for a set of line items belonging to the same service, before a booking is created. * * The response includes each line item's individual preview price and the total of all line item preview prices. * In most situations, the preview price matches the final booking price when using the same parameters. * The final amount may differ due to discounts, booking fees, payment processing charges, or service price changes made by the business between preview and booking creation. * * Preview Price fails if: * * - You specify line items that belong to different [services](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction). * - The site is using a [Bookings Pricing Integration Service Plugin](https://dev.wix.com/docs/rest/business-solutions/bookings/pricing/pricing-integration-service-plugin/introduction). Note that external apps can't currently check whether a plugin is installed on the site before calling Preview Price. * * To retrieve the price of an existing booking, call [Calculate Price](https://dev.wix.com/docs/rest/business-solutions/bookings/pricing/pricing-api/calculate-price) instead. * @param - Booking line items to preview pricing for. * All line items must belong to the same [service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction). */ (bookingLineItems: BookingLineItem[]): Promise & { __applicationErrorsType?: PreviewPriceApplicationErrors; }>; } declare function calculatePrice$1(httpClient: HttpClient): CalculatePriceSignature; interface CalculatePriceSignature { /** * Calculates the current base price for an existing booking. * * * Use this method to display booking costs in external apps or dashboards, or to retrieve accurate pricing for bookings created through other channels. * * The returned price represents the fundamental booking cost before additional charges during [eCommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction). For recently created unpaid bookings, this typically matches the original booking price. However, this method calculates prices based on the service's current pricing configuration, so the returned price may differ from the original booking price if service pricing has changed since the booking was created. * * ### Price calculation methods * * __Standard pricing__: Wix Bookings calculates prices based on the number of participants for each [service variant](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction). * Specify `booking.bookedEntity.slot.serviceId` for appointment-based services and classes, or `booking.bookedEntity.schedule.serviceId` for courses. * * __Custom pricing__: When a [Pricing Service Provider Plugin](https://dev.wix.com/docs/rest/business-solutions/bookings/pricing/pricing-integration-service-plugin/introduction) is installed, Calculate Price gets responses directly from the external provider instead of using standard Wix pricing logic. * In this case, specify `booking.bookedEntity`. Note that external apps can't currently check whether a plugin is installed on the site before calling Calculate Price. * * To estimate the price for multiple booking line items before the booking exists, call [Preview Price](https://dev.wix.com/docs/rest/business-solutions/bookings/pricing/pricing-api/preview-price) instead. * @param - Existing [booking](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings/bookings-writer-v2/introduction) to calculate the base price for. * Must include `bookedEntity` details and participant information. */ (booking: Booking): Promise & { __applicationErrorsType?: CalculatePriceApplicationErrors; }>; } declare const previewPrice: MaybeContext & typeof previewPrice$1>; declare const calculatePrice: MaybeContext & typeof calculatePrice$1>; export { Booking, BookingLineItem, CalculatePriceApplicationErrors, CalculatePriceResponse, PreviewPriceApplicationErrors, PreviewPriceResponse, calculatePrice, previewPrice };