import { HttpClient, NonNullablePaths, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types';
import { CreateCartOptions, Cart, CreateCartApplicationErrors, UpdateCartOptions, UpdateCartApplicationErrors, GetCartByCheckoutIdResponse, AddToCartOptions, AddToCartResponse, AddToCartApplicationErrors, RemoveLineItemsResponse, CreateCheckoutOptions, CreateCheckoutResponse, CreateCheckoutApplicationErrors, RemoveCouponResponse, LineItemQuantityUpdate, UpdateLineItemsQuantityResponse, EstimateTotalsOptions, EstimateTotalsResponse, RemoveBusinessLocationResponse, CartDeletedEnvelope, CartUpdatedEnvelope, CartCreatedEnvelope } from './index.typings.js';
export { AccountInfo, AccountInfoMetadata, ActionEvent, AddToCartRequest, AddToCurrentCartAndEstimateTotalsRequest, AddToCurrentCartRequest, AdditionalFee, AdditionalFeeSource, AdditionalFeeSourceWithLiterals, Address, AddressLocation, AddressWithContact, AggregatedTaxBreakdown, ApplicableLineItems, ApplicationError, AppliedDiscount, AppliedDiscountDiscountSourceOneOf, AppliedDiscountDiscountType, AppliedDiscountDiscountTypeWithLiterals, AutoTaxFallbackCalculationDetails, BalanceType, BalanceTypeWithLiterals, BaseEventMetadata, Benefit, BenefitQuotaOneOf, BillingSettings, BuyerInfo, BuyerInfoIdOneOf, CalculatedItemModifier, CalculatedLineItem, CalculationErrors, CalculationErrorsShippingCalculationErrorOneOf, Carrier, CarrierError, CarrierErrors, CarrierServiceOption, CartDiscount, CartDiscountDiscountSourceOneOf, CatalogOverrideFields, CatalogReference, ChannelType, ChannelTypeWithLiterals, ChargeType, ChargeTypeWithLiterals, Color, Coupon, CoveredLineItem, CreateCartRequest, CreateCartResponse, CreateCheckoutFromCurrentCartRequest, CreateCheckoutRequest, CustomLineItem, DeleteCartRequest, DeleteCartResponse, DeleteCurrentCartRequest, DeliveryAllocation, DeliveryLogistics, DeliveryTimeSlot, Description, DescriptionLine, DescriptionLineDescriptionLineValueOneOf, DescriptionLineName, DescriptionLineType, DescriptionLineTypeWithLiterals, DescriptionLineValueOneOf, Details, DetailsKindOneOf, Dimensions, DimensionsUnit, DimensionsUnitWithLiterals, DiscountRule, DiscountRuleName, DiscountType, DiscountTypeWithLiterals, DomainEvent, DomainEventBodyOneOf, Empty, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EstimateCurrentCartTotalsRequest, EstimateTotalsRequest, EventMetadata, ExistingMembership, ExtendedFields, FallbackReason, FallbackReasonWithLiterals, FieldViolation, FileType, FileTypeWithLiterals, FocalPoint, FreeTrialPeriod, FullAddressContactDetails, GetCartByCheckoutIdRequest, GetCartRequest, GetCartResponse, GetCurrentCartRequest, GetCurrentCartResponse, GiftCard, GiftCardCalculationError, Group, HostSelectedMembership, IdentificationData, IdentificationDataIdOneOf, InvalidMembership, ItemAvailabilityInfo, ItemAvailabilityStatus, ItemAvailabilityStatusWithLiterals, ItemCombination, ItemCombinationLineItem, ItemModifier, ItemTaxFullDetails, ItemType, ItemTypeItemTypeDataOneOf, ItemTypePreset, ItemTypePresetWithLiterals, JurisdictionType, JurisdictionTypeWithLiterals, LimitedQuota, LimitedQuotaType, LimitedQuotaTypeWithLiterals, LineItem, LineItemAdded, LineItemCoverage, LineItemDiscount, LineItemPricesData, ManualCalculationReason, ManualCalculationReasonWithLiterals, Membership, MembershipName, MembershipOptions, MembershipPaymentCredits, MerchantDiscount, MessageEnvelope, ModifierGroup, MultiCurrencyPrice, NameInLineItem, NameInLineItemWithLiterals, NameInOther, NameInOtherWithLiterals, Other, OtherCharge, PaymentOption, PaymentOptionType, PaymentOptionTypeWithLiterals, PhysicalProperties, PickupDetails, PickupMethod, PickupMethodWithLiterals, PlainTextValue, PlatformFee, PlatformFeeChargeType, PlatformFeeChargeTypeWithLiterals, Policy, PriceDescription, PriceSummary, ProductName, ProductPeriodAlignment, ProductPeriodAlignmentWithLiterals, PurchasablePlan, QuotaType, QuotaTypeWithLiterals, RateType, RateTypeWithLiterals, Region, RemoveBusinessLocationRequest, RemoveCouponFromCurrentCartRequest, RemoveCouponRequest, RemoveLineItemsFromCurrentCartRequest, RemoveLineItemsRequest, RestoreInfo, RuleType, RuleTypeWithLiterals, Scope, SecuredMedia, SelectedCarrierServiceOption, SelectedCarrierServiceOptionOtherCharge, SelectedCarrierServiceOptionPrices, SelectedMembership, SelectedMemberships, SelectedShippingOption, ServiceProperties, Severity, SeverityWithLiterals, ShippingInformation, ShippingOption, ShippingPrice, ShippingRegion, StreetAddress, SubscriptionFrequency, SubscriptionFrequencyWithLiterals, SubscriptionOptionInfo, SubscriptionSettings, SuggestedFix, SuggestedFixWithLiterals, SystemError, Target, TargetLineItem, TargetTargetTypeOneOf, TaxBreakdown, TaxCalculationDetails, TaxCalculationDetailsCalculationDetailsOneOf, TaxRateBreakdown, TaxSummary, TaxableAddress, TaxableAddressTaxableAddressDataOneOf, TaxableAddressType, TaxableAddressTypeWithLiterals, Title, TranslatableString, UpdateCartRequest, UpdateCartResponse, UpdateCurrentCartLineItemQuantityRequest, UpdateLineItemsQuantityRequest, V1Coupon, V1DiscountRule, V1DiscountRuleName, V1ItemModifier, V1Membership, V1MerchantDiscount, V1ModifierGroup, ValidatedExistingMemberships, ValidatedPurchasablePlans, ValidationError, VatId, VatType, VatTypeWithLiterals, Violation, WebhookIdentityType, WebhookIdentityTypeWithLiterals, WeightUnit, WeightUnitWithLiterals } from './index.typings.js';

declare function createCart$1(httpClient: HttpClient): CreateCartSignature;
interface CreateCartSignature {
    /**
     * Creates a cart.
     *
     * > **Notes:**
     * > + When adding catalog line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.
     * > + This method requires [visitor or member authentication](https://dev.wix.com/docs/rest/articles/getting-started/access-types-and-permissions).
     * @param - Cart creation options.
     * @returns Cart.
     */
    (options?: NonNullablePaths<CreateCartOptions, `customLineItems.${number}.descriptionLines.${number}.name` | `customLineItems.${number}.itemType` | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label` | `customLineItems.${number}.price` | `customLineItems.${number}.productName` | `customLineItems.${number}.quantity` | `lineItems.${number}.catalogReference` | `lineItems.${number}.quantity` | `lineItems.${number}.selectedMembership._id` | `lineItems.${number}.selectedMembership.appId`, 8>): Promise<NonNullablePaths<Cart, `lineItems` | `lineItems.${number}.quantity` | `lineItems.${number}.catalogReference.catalogItemId` | `lineItems.${number}.catalogReference.appId` | `lineItems.${number}.productName.original` | `lineItems.${number}.price.amount` | `lineItems.${number}.price.convertedAmount` | `lineItems.${number}.price.formattedAmount` | `lineItems.${number}.price.formattedConvertedAmount` | `lineItems.${number}.availability.status` | `lineItems.${number}.physicalProperties.shippable` | `lineItems.${number}.itemType.preset` | `lineItems.${number}.itemType.custom` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `lineItems.${number}.subscriptionOptionInfo.title.original` | `lineItems.${number}.subscriptionOptionInfo.description.original` | `lineItems.${number}.paymentOption` | `lineItems.${number}.priceDescription.original` | `lineItems.${number}.selectedMembership._id` | `lineItems.${number}.selectedMembership.appId` | `lineItems.${number}.customLineItem` | `lineItems.${number}.priceUndetermined` | `lineItems.${number}.fixedQuantity` | `lineItems.${number}.catalogOverrideFields.paymentOption.value` | `lineItems.${number}.savePaymentMethod` | `lineItems.${number}.taxableAddress.addressType` | `lineItems.${number}.membersOnly` | `buyerInfo.visitorId` | `buyerInfo.memberId` | `buyerInfo.userId` | `currency` | `conversionCurrency` | `weightUnit` | `appliedDiscounts` | `appliedDiscounts.${number}.coupon._id` | `appliedDiscounts.${number}.coupon.code` | `contactInfo.address.streetAddress.number` | `contactInfo.address.streetAddress.name` | `contactInfo.contactDetails.vatId._id` | `contactInfo.contactDetails.vatId.type` | `selectedShippingOption.code` | `paymentCurrency`, 6> & {
        __applicationErrorsType?: CreateCartApplicationErrors;
    }>;
}
declare function updateCart$1(httpClient: HttpClient): UpdateCartSignature;
interface UpdateCartSignature {
    /**
     * Updates a cart's properties.
     *
     * > **Notes:**
     * > + When updating line items, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.
     * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.
     * @param - Available options to use when updating a cart.
     * @param - ID of the cart to be updated.
     * @returns Updated Cart.
     */
    (_id: string, options?: NonNullablePaths<UpdateCartOptions, `customLineItems.${number}.descriptionLines.${number}.name` | `customLineItems.${number}.itemType` | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label` | `customLineItems.${number}.productName` | `lineItems.${number}.catalogReference`, 8>): Promise<NonNullablePaths<Cart, `lineItems` | `lineItems.${number}.quantity` | `lineItems.${number}.catalogReference.catalogItemId` | `lineItems.${number}.catalogReference.appId` | `lineItems.${number}.productName.original` | `lineItems.${number}.price.amount` | `lineItems.${number}.price.convertedAmount` | `lineItems.${number}.price.formattedAmount` | `lineItems.${number}.price.formattedConvertedAmount` | `lineItems.${number}.availability.status` | `lineItems.${number}.physicalProperties.shippable` | `lineItems.${number}.itemType.preset` | `lineItems.${number}.itemType.custom` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `lineItems.${number}.subscriptionOptionInfo.title.original` | `lineItems.${number}.subscriptionOptionInfo.description.original` | `lineItems.${number}.paymentOption` | `lineItems.${number}.priceDescription.original` | `lineItems.${number}.selectedMembership._id` | `lineItems.${number}.selectedMembership.appId` | `lineItems.${number}.customLineItem` | `lineItems.${number}.priceUndetermined` | `lineItems.${number}.fixedQuantity` | `lineItems.${number}.catalogOverrideFields.paymentOption.value` | `lineItems.${number}.savePaymentMethod` | `lineItems.${number}.taxableAddress.addressType` | `lineItems.${number}.membersOnly` | `buyerInfo.visitorId` | `buyerInfo.memberId` | `buyerInfo.userId` | `currency` | `conversionCurrency` | `weightUnit` | `appliedDiscounts` | `appliedDiscounts.${number}.coupon._id` | `appliedDiscounts.${number}.coupon.code` | `contactInfo.address.streetAddress.number` | `contactInfo.address.streetAddress.name` | `contactInfo.contactDetails.vatId._id` | `contactInfo.contactDetails.vatId.type` | `selectedShippingOption.code` | `paymentCurrency`, 6> & {
        __applicationErrorsType?: UpdateCartApplicationErrors;
    }>;
}
declare function getCart$1(httpClient: HttpClient): GetCartSignature;
interface GetCartSignature {
    /**
     * Retrieves a cart.
     * @param - Cart ID.
     * @returns Retrieved cart.
     */
    (_id: string): Promise<NonNullablePaths<Cart, `lineItems` | `lineItems.${number}.quantity` | `lineItems.${number}.catalogReference.catalogItemId` | `lineItems.${number}.catalogReference.appId` | `lineItems.${number}.productName.original` | `lineItems.${number}.price.amount` | `lineItems.${number}.price.convertedAmount` | `lineItems.${number}.price.formattedAmount` | `lineItems.${number}.price.formattedConvertedAmount` | `lineItems.${number}.availability.status` | `lineItems.${number}.physicalProperties.shippable` | `lineItems.${number}.itemType.preset` | `lineItems.${number}.itemType.custom` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `lineItems.${number}.subscriptionOptionInfo.title.original` | `lineItems.${number}.subscriptionOptionInfo.description.original` | `lineItems.${number}.paymentOption` | `lineItems.${number}.priceDescription.original` | `lineItems.${number}.selectedMembership._id` | `lineItems.${number}.selectedMembership.appId` | `lineItems.${number}.customLineItem` | `lineItems.${number}.priceUndetermined` | `lineItems.${number}.fixedQuantity` | `lineItems.${number}.catalogOverrideFields.paymentOption.value` | `lineItems.${number}.savePaymentMethod` | `lineItems.${number}.taxableAddress.addressType` | `lineItems.${number}.membersOnly` | `buyerInfo.visitorId` | `buyerInfo.memberId` | `buyerInfo.userId` | `currency` | `conversionCurrency` | `weightUnit` | `appliedDiscounts` | `appliedDiscounts.${number}.coupon._id` | `appliedDiscounts.${number}.coupon.code` | `contactInfo.address.streetAddress.number` | `contactInfo.address.streetAddress.name` | `contactInfo.contactDetails.vatId._id` | `contactInfo.contactDetails.vatId.type` | `selectedShippingOption.code` | `paymentCurrency`, 6>>;
}
/** @internal */
declare function getCartByCheckoutId$1(httpClient: HttpClient): GetCartByCheckoutIdSignature;
interface GetCartByCheckoutIdSignature {
    /**
     * Retrieves the cart associated with a specified checkout.
     * @param - Checkout ID.
     */
    (_id: string): Promise<NonNullablePaths<GetCartByCheckoutIdResponse, `cart.lineItems` | `cart.lineItems.${number}.quantity` | `cart.lineItems.${number}.catalogReference.catalogItemId` | `cart.lineItems.${number}.catalogReference.appId` | `cart.lineItems.${number}.productName.original` | `cart.lineItems.${number}.price.amount` | `cart.lineItems.${number}.price.convertedAmount` | `cart.lineItems.${number}.price.formattedAmount` | `cart.lineItems.${number}.price.formattedConvertedAmount` | `cart.lineItems.${number}.availability.status` | `cart.lineItems.${number}.physicalProperties.shippable` | `cart.lineItems.${number}.itemType.preset` | `cart.lineItems.${number}.itemType.custom` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `cart.lineItems.${number}.subscriptionOptionInfo.title.original` | `cart.lineItems.${number}.subscriptionOptionInfo.description.original` | `cart.lineItems.${number}.paymentOption` | `cart.lineItems.${number}.priceDescription.original` | `cart.lineItems.${number}.selectedMembership._id` | `cart.lineItems.${number}.selectedMembership.appId` | `cart.lineItems.${number}.customLineItem` | `cart.lineItems.${number}.priceUndetermined` | `cart.lineItems.${number}.fixedQuantity` | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value` | `cart.lineItems.${number}.savePaymentMethod` | `cart.lineItems.${number}.taxableAddress.addressType` | `cart.lineItems.${number}.membersOnly` | `cart.buyerInfo.visitorId` | `cart.buyerInfo.memberId` | `cart.buyerInfo.userId` | `cart.currency` | `cart.conversionCurrency` | `cart.weightUnit` | `cart.appliedDiscounts` | `cart.appliedDiscounts.${number}.coupon._id` | `cart.appliedDiscounts.${number}.coupon.code` | `cart.contactInfo.address.streetAddress.number` | `cart.contactInfo.address.streetAddress.name` | `cart.contactInfo.contactDetails.vatId._id` | `cart.contactInfo.contactDetails.vatId.type` | `cart.selectedShippingOption.code` | `cart.paymentCurrency`, 7>>;
}
declare function addToCart$1(httpClient: HttpClient): AddToCartSignature;
interface AddToCartSignature {
    /**
     * Adds [catalog](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration) line items to a cart.
     *
     * >**Notes:**
     * > + When adding catalog line items to a cart, the `lineItems.catalogReference.appId` and `lineItems.catalogReference.catalogItemId` fields are required.
     * > + After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.
     * @param - Cart ID.
     * @param - Items to be added to cart.
     */
    (_id: string, options?: NonNullablePaths<AddToCartOptions, `customLineItems.${number}.descriptionLines.${number}.name` | `customLineItems.${number}.itemType` | `customLineItems.${number}.modifierGroups.${number}.modifiers.${number}.label` | `customLineItems.${number}.price` | `customLineItems.${number}.productName` | `customLineItems.${number}.quantity` | `lineItems.${number}.catalogReference` | `lineItems.${number}.selectedMembership._id` | `lineItems.${number}.selectedMembership.appId`, 8>): Promise<NonNullablePaths<AddToCartResponse, `cart.lineItems` | `cart.lineItems.${number}.quantity` | `cart.lineItems.${number}.catalogReference.catalogItemId` | `cart.lineItems.${number}.catalogReference.appId` | `cart.lineItems.${number}.productName.original` | `cart.lineItems.${number}.price.amount` | `cart.lineItems.${number}.price.convertedAmount` | `cart.lineItems.${number}.price.formattedAmount` | `cart.lineItems.${number}.price.formattedConvertedAmount` | `cart.lineItems.${number}.availability.status` | `cart.lineItems.${number}.physicalProperties.shippable` | `cart.lineItems.${number}.itemType.preset` | `cart.lineItems.${number}.itemType.custom` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `cart.lineItems.${number}.subscriptionOptionInfo.title.original` | `cart.lineItems.${number}.subscriptionOptionInfo.description.original` | `cart.lineItems.${number}.paymentOption` | `cart.lineItems.${number}.priceDescription.original` | `cart.lineItems.${number}.selectedMembership._id` | `cart.lineItems.${number}.selectedMembership.appId` | `cart.lineItems.${number}.customLineItem` | `cart.lineItems.${number}.priceUndetermined` | `cart.lineItems.${number}.fixedQuantity` | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value` | `cart.lineItems.${number}.savePaymentMethod` | `cart.lineItems.${number}.taxableAddress.addressType` | `cart.lineItems.${number}.membersOnly` | `cart.buyerInfo.visitorId` | `cart.buyerInfo.memberId` | `cart.buyerInfo.userId` | `cart.currency` | `cart.conversionCurrency` | `cart.weightUnit` | `cart.appliedDiscounts` | `cart.appliedDiscounts.${number}.coupon._id` | `cart.appliedDiscounts.${number}.coupon.code` | `cart.contactInfo.address.streetAddress.number` | `cart.contactInfo.address.streetAddress.name` | `cart.contactInfo.contactDetails.vatId._id` | `cart.contactInfo.contactDetails.vatId.type` | `cart.selectedShippingOption.code` | `cart.paymentCurrency`, 7> & {
        __applicationErrorsType?: AddToCartApplicationErrors;
    }>;
}
declare function removeLineItems$1(httpClient: HttpClient): RemoveLineItemsSignature;
interface RemoveLineItemsSignature {
    /**
     * Removes line items from a cart.
     *
     * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.
     * @param - IDs of the line items to remove from the cart.
     * @param - ID of the cart to remove line items from.
     */
    (_id: string, lineItemIds: string[]): Promise<NonNullablePaths<RemoveLineItemsResponse, `cart.lineItems` | `cart.lineItems.${number}.quantity` | `cart.lineItems.${number}.catalogReference.catalogItemId` | `cart.lineItems.${number}.catalogReference.appId` | `cart.lineItems.${number}.productName.original` | `cart.lineItems.${number}.price.amount` | `cart.lineItems.${number}.price.convertedAmount` | `cart.lineItems.${number}.price.formattedAmount` | `cart.lineItems.${number}.price.formattedConvertedAmount` | `cart.lineItems.${number}.availability.status` | `cart.lineItems.${number}.physicalProperties.shippable` | `cart.lineItems.${number}.itemType.preset` | `cart.lineItems.${number}.itemType.custom` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `cart.lineItems.${number}.subscriptionOptionInfo.title.original` | `cart.lineItems.${number}.subscriptionOptionInfo.description.original` | `cart.lineItems.${number}.paymentOption` | `cart.lineItems.${number}.priceDescription.original` | `cart.lineItems.${number}.selectedMembership._id` | `cart.lineItems.${number}.selectedMembership.appId` | `cart.lineItems.${number}.customLineItem` | `cart.lineItems.${number}.priceUndetermined` | `cart.lineItems.${number}.fixedQuantity` | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value` | `cart.lineItems.${number}.savePaymentMethod` | `cart.lineItems.${number}.taxableAddress.addressType` | `cart.lineItems.${number}.membersOnly` | `cart.buyerInfo.visitorId` | `cart.buyerInfo.memberId` | `cart.buyerInfo.userId` | `cart.currency` | `cart.conversionCurrency` | `cart.weightUnit` | `cart.appliedDiscounts` | `cart.appliedDiscounts.${number}.coupon._id` | `cart.appliedDiscounts.${number}.coupon.code` | `cart.contactInfo.address.streetAddress.number` | `cart.contactInfo.address.streetAddress.name` | `cart.contactInfo.contactDetails.vatId._id` | `cart.contactInfo.contactDetails.vatId.type` | `cart.selectedShippingOption.code` | `cart.paymentCurrency`, 7>>;
}
declare function createCheckout$1(httpClient: HttpClient): CreateCheckoutSignature;
interface CreateCheckoutSignature {
    /**
     * Creates a checkout from a cart.
     *
     * If a checkout for the specified cart already exists, that checkout is
     * updated with any new information from the cart.
     *
     * > **Note:** `channelType` is a required field.
     * @param - Cart ID.
     * @param - Checkout creation options.
     */
    (_id: string, options?: CreateCheckoutOptions): Promise<NonNullablePaths<CreateCheckoutResponse, `checkoutId`, 2> & {
        __applicationErrorsType?: CreateCheckoutApplicationErrors;
    }>;
}
declare function removeCoupon$1(httpClient: HttpClient): RemoveCouponSignature;
interface RemoveCouponSignature {
    /**
     * Removes the coupon from a cart.
     *
     * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.
     * @param - Cart ID.
     */
    (_id: string): Promise<NonNullablePaths<RemoveCouponResponse, `cart.lineItems` | `cart.lineItems.${number}.quantity` | `cart.lineItems.${number}.catalogReference.catalogItemId` | `cart.lineItems.${number}.catalogReference.appId` | `cart.lineItems.${number}.productName.original` | `cart.lineItems.${number}.price.amount` | `cart.lineItems.${number}.price.convertedAmount` | `cart.lineItems.${number}.price.formattedAmount` | `cart.lineItems.${number}.price.formattedConvertedAmount` | `cart.lineItems.${number}.availability.status` | `cart.lineItems.${number}.physicalProperties.shippable` | `cart.lineItems.${number}.itemType.preset` | `cart.lineItems.${number}.itemType.custom` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `cart.lineItems.${number}.subscriptionOptionInfo.title.original` | `cart.lineItems.${number}.subscriptionOptionInfo.description.original` | `cart.lineItems.${number}.paymentOption` | `cart.lineItems.${number}.priceDescription.original` | `cart.lineItems.${number}.selectedMembership._id` | `cart.lineItems.${number}.selectedMembership.appId` | `cart.lineItems.${number}.customLineItem` | `cart.lineItems.${number}.priceUndetermined` | `cart.lineItems.${number}.fixedQuantity` | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value` | `cart.lineItems.${number}.savePaymentMethod` | `cart.lineItems.${number}.taxableAddress.addressType` | `cart.lineItems.${number}.membersOnly` | `cart.buyerInfo.visitorId` | `cart.buyerInfo.memberId` | `cart.buyerInfo.userId` | `cart.currency` | `cart.conversionCurrency` | `cart.weightUnit` | `cart.appliedDiscounts` | `cart.appliedDiscounts.${number}.coupon._id` | `cart.appliedDiscounts.${number}.coupon.code` | `cart.contactInfo.address.streetAddress.number` | `cart.contactInfo.address.streetAddress.name` | `cart.contactInfo.contactDetails.vatId._id` | `cart.contactInfo.contactDetails.vatId.type` | `cart.selectedShippingOption.code` | `cart.paymentCurrency`, 7>>;
}
declare function updateLineItemsQuantity$1(httpClient: HttpClient): UpdateLineItemsQuantitySignature;
interface UpdateLineItemsQuantitySignature {
    /**
     * Updates the quantity of 1 or more line items in a cart.
     *
     * This method is only for updating the quantity of line items.
     * To entirely remove a line item from the cart, use Remove Line Items.
     * To add a new line item to the cart, use Add To Cart.
     *
     * This method checks the amount of stock remaining for this line item.
     * If the specified quantity is greater than the remaining stock,
     * then the quantity returned in the response is the total amount of remaining stock.
     *
     * > **Note:** After a cart is updated, call [Refresh Cart](https://dev.wix.com/docs/sdk/frontend-modules/ecom/refresh-cart) to update the cart's UI elements and trigger the Cart Updated event.
     * @param - Cart ID.
     * @param - Line item IDs and their new quantity.
     */
    (_id: string, lineItems: LineItemQuantityUpdate[]): Promise<NonNullablePaths<UpdateLineItemsQuantityResponse, `cart.lineItems` | `cart.lineItems.${number}.quantity` | `cart.lineItems.${number}.catalogReference.catalogItemId` | `cart.lineItems.${number}.catalogReference.appId` | `cart.lineItems.${number}.productName.original` | `cart.lineItems.${number}.price.amount` | `cart.lineItems.${number}.price.convertedAmount` | `cart.lineItems.${number}.price.formattedAmount` | `cart.lineItems.${number}.price.formattedConvertedAmount` | `cart.lineItems.${number}.availability.status` | `cart.lineItems.${number}.physicalProperties.shippable` | `cart.lineItems.${number}.itemType.preset` | `cart.lineItems.${number}.itemType.custom` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `cart.lineItems.${number}.subscriptionOptionInfo.title.original` | `cart.lineItems.${number}.subscriptionOptionInfo.description.original` | `cart.lineItems.${number}.paymentOption` | `cart.lineItems.${number}.priceDescription.original` | `cart.lineItems.${number}.selectedMembership._id` | `cart.lineItems.${number}.selectedMembership.appId` | `cart.lineItems.${number}.customLineItem` | `cart.lineItems.${number}.priceUndetermined` | `cart.lineItems.${number}.fixedQuantity` | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value` | `cart.lineItems.${number}.savePaymentMethod` | `cart.lineItems.${number}.taxableAddress.addressType` | `cart.lineItems.${number}.membersOnly` | `cart.buyerInfo.visitorId` | `cart.buyerInfo.memberId` | `cart.buyerInfo.userId` | `cart.currency` | `cart.conversionCurrency` | `cart.weightUnit` | `cart.appliedDiscounts` | `cart.appliedDiscounts.${number}.coupon._id` | `cart.appliedDiscounts.${number}.coupon.code` | `cart.contactInfo.address.streetAddress.number` | `cart.contactInfo.address.streetAddress.name` | `cart.contactInfo.contactDetails.vatId._id` | `cart.contactInfo.contactDetails.vatId.type` | `cart.selectedShippingOption.code` | `cart.paymentCurrency`, 7>>;
}
declare function estimateTotals$1(httpClient: HttpClient): EstimateTotalsSignature;
interface EstimateTotalsSignature {
    /**
     * Estimates the subtotal and total for current site visitor’s cart.
     *
     * Totals include tax and are based on the selected carrier service, shipping address, and billing information.
     *
     * > **Note:** Not passing any optional parameters will only estimate the cart items price totals.
     * @param - Cart ID.
     * @param - Total estimation options.
     */
    (_id: string, options?: EstimateTotalsOptions): Promise<NonNullablePaths<EstimateTotalsResponse, `cart.lineItems` | `cart.lineItems.${number}.quantity` | `cart.lineItems.${number}.catalogReference.catalogItemId` | `cart.lineItems.${number}.catalogReference.appId` | `cart.lineItems.${number}.productName.original` | `cart.lineItems.${number}.price.amount` | `cart.lineItems.${number}.price.convertedAmount` | `cart.lineItems.${number}.price.formattedAmount` | `cart.lineItems.${number}.price.formattedConvertedAmount` | `cart.lineItems.${number}.availability.status` | `cart.lineItems.${number}.physicalProperties.shippable` | `cart.lineItems.${number}.itemType.preset` | `cart.lineItems.${number}.itemType.custom` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `cart.lineItems.${number}.subscriptionOptionInfo.title.original` | `cart.lineItems.${number}.subscriptionOptionInfo.description.original` | `cart.lineItems.${number}.paymentOption` | `cart.lineItems.${number}.priceDescription.original` | `cart.lineItems.${number}.selectedMembership._id` | `cart.lineItems.${number}.selectedMembership.appId` | `cart.lineItems.${number}.customLineItem` | `cart.lineItems.${number}.priceUndetermined` | `cart.lineItems.${number}.fixedQuantity` | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value` | `cart.lineItems.${number}.savePaymentMethod` | `cart.lineItems.${number}.taxableAddress.addressType` | `cart.lineItems.${number}.membersOnly` | `cart.buyerInfo.visitorId` | `cart.buyerInfo.memberId` | `cart.buyerInfo.userId` | `cart.currency` | `cart.conversionCurrency` | `cart.weightUnit` | `cart.appliedDiscounts` | `cart.appliedDiscounts.${number}.coupon._id` | `cart.appliedDiscounts.${number}.coupon.code` | `cart.contactInfo.address.streetAddress.number` | `cart.contactInfo.address.streetAddress.name` | `cart.contactInfo.contactDetails.vatId._id` | `cart.contactInfo.contactDetails.vatId.type` | `cart.selectedShippingOption.code` | `cart.paymentCurrency` | `calculatedLineItems` | `calculatedLineItems.${number}.lineItemId` | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.amount` | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.convertedAmount` | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedAmount` | `calculatedLineItems.${number}.pricesBreakdown.totalPriceAfterTax.formattedConvertedAmount` | `calculatedLineItems.${number}.pricesBreakdown.taxDetails.taxRate` | `calculatedLineItems.${number}.paymentOption` | `calculatedLineItems.${number}.taxableAddress.addressType` | `priceSummary.subtotal.amount` | `priceSummary.subtotal.convertedAmount` | `priceSummary.subtotal.formattedAmount` | `priceSummary.subtotal.formattedConvertedAmount` | `giftCard._id` | `giftCard.obfuscatedCode` | `giftCard.amount.amount` | `giftCard.amount.convertedAmount` | `giftCard.amount.formattedAmount` | `giftCard.amount.formattedConvertedAmount` | `giftCard.appId` | `taxSummary.taxableAmount.amount` | `taxSummary.taxableAmount.convertedAmount` | `taxSummary.taxableAmount.formattedAmount` | `taxSummary.taxableAmount.formattedConvertedAmount` | `taxSummary.calculationDetails.manualRateReason` | `taxSummary.calculationDetails.autoTaxFallbackDetails.fallbackReason` | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.code` | `taxSummary.calculationDetails.autoTaxFallbackDetails.error.description` | `taxSummary.calculationDetails.rateType` | `shippingInfo.region._id` | `shippingInfo.region.name` | `shippingInfo.selectedCarrierServiceOption.code` | `shippingInfo.selectedCarrierServiceOption.title` | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.number` | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.address.streetAddress.name` | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.businessLocation` | `shippingInfo.selectedCarrierServiceOption.logistics.pickupDetails.pickupMethod` | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.amount` | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.convertedAmount` | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedAmount` | `shippingInfo.selectedCarrierServiceOption.cost.totalPriceAfterTax.formattedConvertedAmount` | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxRate` | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown` | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.name` | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.rateBreakdown.${number}.rate` | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown` | `shippingInfo.selectedCarrierServiceOption.cost.taxDetails.taxBreakdown.${number}.jurisdictionType` | `shippingInfo.selectedCarrierServiceOption.requestedShippingOption` | `shippingInfo.selectedCarrierServiceOption.otherCharges` | `shippingInfo.selectedCarrierServiceOption.otherCharges.${number}.type` | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations` | `shippingInfo.selectedCarrierServiceOption.deliveryAllocations.${number}.deliveryCarrier.code` | `shippingInfo.carrierServiceOptions` | `shippingInfo.carrierServiceOptions.${number}.carrierId` | `appliedDiscounts` | `appliedDiscounts.${number}.coupon._id` | `appliedDiscounts.${number}.coupon.code` | `appliedDiscounts.${number}.coupon.amount.amount` | `appliedDiscounts.${number}.coupon.amount.convertedAmount` | `appliedDiscounts.${number}.coupon.amount.formattedAmount` | `appliedDiscounts.${number}.coupon.amount.formattedConvertedAmount` | `appliedDiscounts.${number}.coupon.name` | `appliedDiscounts.${number}.discountRule._id` | `appliedDiscounts.${number}.discountRule.name.original` | `appliedDiscounts.${number}.discountType` | `calculationErrors.generalShippingCalculationError.applicationError.code` | `calculationErrors.generalShippingCalculationError.applicationError.description` | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations` | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.field` | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.description` | `calculationErrors.generalShippingCalculationError.validationError.fieldViolations.${number}.violatedRule` | `calculationErrors.carrierErrors.errors` | `calculationErrors.carrierErrors.errors.${number}.carrierId` | `calculationErrors.orderValidationErrors` | `weightUnit` | `currency` | `payNow.subtotal.amount` | `payNow.subtotal.convertedAmount` | `payNow.subtotal.formattedAmount` | `payNow.subtotal.formattedConvertedAmount` | `payLater.subtotal.amount` | `payLater.subtotal.convertedAmount` | `payLater.subtotal.formattedAmount` | `payLater.subtotal.formattedConvertedAmount` | `membershipOptions.eligibleMemberships` | `membershipOptions.eligibleMemberships.${number}._id` | `membershipOptions.eligibleMemberships.${number}.appId` | `membershipOptions.eligibleMemberships.${number}.name.original` | `membershipOptions.eligibleMemberships.${number}.credits.total` | `membershipOptions.eligibleMemberships.${number}.credits.remaining` | `membershipOptions.invalidMemberships` | `membershipOptions.invalidMemberships.${number}.reason` | `membershipOptions.selectedMemberships` | `membershipOptions.selectedMemberships.${number}._id` | `membershipOptions.selectedMemberships.${number}.appId` | `additionalFees` | `additionalFees.${number}.name` | `additionalFees.${number}.price.amount` | `additionalFees.${number}.price.convertedAmount` | `additionalFees.${number}.price.formattedAmount` | `additionalFees.${number}.price.formattedConvertedAmount` | `additionalFees.${number}.taxDetails.taxRate` | `additionalFees.${number}.source` | `violations` | `violations.${number}.severity` | `violations.${number}.target.other.name` | `violations.${number}.target.lineItem.name`, 8>>;
}
declare function deleteCart$1(httpClient: HttpClient): DeleteCartSignature;
interface DeleteCartSignature {
    /**
     * Deletes a cart.
     * @param - ID of the cart to delete.
     */
    (_id: string): Promise<void>;
}
declare function removeBusinessLocation$1(httpClient: HttpClient): RemoveBusinessLocationSignature;
interface RemoveBusinessLocationSignature {
    /**
     * Removes the location associated with a cart.
     * @param - Cart ID.
     */
    (_id: string): Promise<NonNullablePaths<RemoveBusinessLocationResponse, `cart.lineItems` | `cart.lineItems.${number}.quantity` | `cart.lineItems.${number}.catalogReference.catalogItemId` | `cart.lineItems.${number}.catalogReference.appId` | `cart.lineItems.${number}.productName.original` | `cart.lineItems.${number}.price.amount` | `cart.lineItems.${number}.price.convertedAmount` | `cart.lineItems.${number}.price.formattedAmount` | `cart.lineItems.${number}.price.formattedConvertedAmount` | `cart.lineItems.${number}.availability.status` | `cart.lineItems.${number}.physicalProperties.shippable` | `cart.lineItems.${number}.itemType.preset` | `cart.lineItems.${number}.itemType.custom` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.frequency` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.autoRenewal` | `cart.lineItems.${number}.subscriptionOptionInfo.subscriptionSettings.enableCustomerCancellation` | `cart.lineItems.${number}.subscriptionOptionInfo.title.original` | `cart.lineItems.${number}.subscriptionOptionInfo.description.original` | `cart.lineItems.${number}.paymentOption` | `cart.lineItems.${number}.priceDescription.original` | `cart.lineItems.${number}.selectedMembership._id` | `cart.lineItems.${number}.selectedMembership.appId` | `cart.lineItems.${number}.customLineItem` | `cart.lineItems.${number}.priceUndetermined` | `cart.lineItems.${number}.fixedQuantity` | `cart.lineItems.${number}.catalogOverrideFields.paymentOption.value` | `cart.lineItems.${number}.savePaymentMethod` | `cart.lineItems.${number}.taxableAddress.addressType` | `cart.lineItems.${number}.membersOnly` | `cart.buyerInfo.visitorId` | `cart.buyerInfo.memberId` | `cart.buyerInfo.userId` | `cart.currency` | `cart.conversionCurrency` | `cart.weightUnit` | `cart.appliedDiscounts` | `cart.appliedDiscounts.${number}.coupon._id` | `cart.appliedDiscounts.${number}.coupon.code` | `cart.contactInfo.address.streetAddress.number` | `cart.contactInfo.address.streetAddress.name` | `cart.contactInfo.contactDetails.vatId._id` | `cart.contactInfo.contactDetails.vatId.type` | `cart.selectedShippingOption.code` | `cart.paymentCurrency`, 7>>;
}
declare const onCartDeleted$1: EventDefinition<CartDeletedEnvelope, "wix.ecom.v1.cart_deleted">;
declare const onCartUpdated$1: EventDefinition<CartUpdatedEnvelope, "wix.ecom.v1.cart_updated">;
declare const onCartCreated$1: EventDefinition<CartCreatedEnvelope, "wix.ecom.v1.cart_created">;

declare const createCart: MaybeContext<BuildRESTFunction<typeof createCart$1> & typeof createCart$1>;
declare const updateCart: MaybeContext<BuildRESTFunction<typeof updateCart$1> & typeof updateCart$1>;
declare const getCart: MaybeContext<BuildRESTFunction<typeof getCart$1> & typeof getCart$1>;
/** @internal */
declare const getCartByCheckoutId: MaybeContext<BuildRESTFunction<typeof getCartByCheckoutId$1> & typeof getCartByCheckoutId$1>;
declare const addToCart: MaybeContext<BuildRESTFunction<typeof addToCart$1> & typeof addToCart$1>;
declare const removeLineItems: MaybeContext<BuildRESTFunction<typeof removeLineItems$1> & typeof removeLineItems$1>;
declare const createCheckout: MaybeContext<BuildRESTFunction<typeof createCheckout$1> & typeof createCheckout$1>;
declare const removeCoupon: MaybeContext<BuildRESTFunction<typeof removeCoupon$1> & typeof removeCoupon$1>;
declare const updateLineItemsQuantity: MaybeContext<BuildRESTFunction<typeof updateLineItemsQuantity$1> & typeof updateLineItemsQuantity$1>;
declare const estimateTotals: MaybeContext<BuildRESTFunction<typeof estimateTotals$1> & typeof estimateTotals$1>;
declare const deleteCart: MaybeContext<BuildRESTFunction<typeof deleteCart$1> & typeof deleteCart$1>;
declare const removeBusinessLocation: MaybeContext<BuildRESTFunction<typeof removeBusinessLocation$1> & typeof removeBusinessLocation$1>;
/**
 * Triggered when a cart is deleted.
 */
declare const onCartDeleted: BuildEventDefinition<typeof onCartDeleted$1> & typeof onCartDeleted$1;
/** */
declare const onCartUpdated: BuildEventDefinition<typeof onCartUpdated$1> & typeof onCartUpdated$1;
/**
 * Triggered when a cart is created.
 */
declare const onCartCreated: BuildEventDefinition<typeof onCartCreated$1> & typeof onCartCreated$1;

export { AddToCartApplicationErrors, AddToCartOptions, AddToCartResponse, Cart, CartCreatedEnvelope, CartDeletedEnvelope, CartUpdatedEnvelope, CreateCartApplicationErrors, CreateCartOptions, CreateCheckoutApplicationErrors, CreateCheckoutOptions, CreateCheckoutResponse, EstimateTotalsOptions, EstimateTotalsResponse, GetCartByCheckoutIdResponse, LineItemQuantityUpdate, RemoveBusinessLocationResponse, RemoveCouponResponse, RemoveLineItemsResponse, UpdateCartApplicationErrors, UpdateCartOptions, UpdateLineItemsQuantityResponse, addToCart, createCart, createCheckout, deleteCart, estimateTotals, getCart, getCartByCheckoutId, onCartCreated, onCartDeleted, onCartUpdated, removeBusinessLocation, removeCoupon, removeLineItems, updateCart, updateLineItemsQuantity };
