import { RequestOptionsFactory } from '@wix/sdk-types'; /** * Creates a new coupon. * * The `createCoupon()` function returns a Promise that resolves to the new coupon when it is created. * * When creating a coupon, the `specification` object must contain values for `name`, `code`, `startTime`, and either `scope` or `minimumSubtotal`. The exception is for a `freeShipping` coupon type, for which you cannot apply a `scope` and `minimumSubtotal` is optional. * * The coupon `scope` defines the items a coupon applies to. A coupon can apply to all items in a specific Wix application, a group within the application, or a single item within a group. See the [introduction](#introduction) for a table of currently supported coupon scopes. * * The `specification` object must also contain a value for exactly 1 of the following coupon properties. This defines the coupon type. * * + `"moneyOffAmount"` * + `"percentOffRate"` * + `"freeShipping"` * + `"fixedPriceAmount"` * + `"buyXGetY"` */ export declare function create(payload: object): RequestOptionsFactory; /** * Updates a coupon. * * The `updateCoupon()` function returns a Promise that resolves when the coupon is updated. * * Only the properties passed in the `specification` object will be updated. All other properties will remain the same. * * To remove a value from the coupon, pass its corresponding property with a value of `null`. * * When updating a coupon, you cannot change the coupon's `type`. For example, if the coupon's `type` is `moneyOffAmount`, you cannot change it to `fixedPriceAmount`. You can update the coupon type's value. For example, you can change the value of `moneyOffAmount` from `5` to `10`. * * The coupon `scope` defines the items a coupon applies to. A coupon can apply to all items in a specific Wix application, a group within the application, or a single item within a group. * See the [introduction](#introduction) for a table of currently supported coupon scopes. */ export declare function update(payload: object): RequestOptionsFactory; /** * Retrieves a coupon by ID. * * The `getCoupon()` function returns a Promise that resolves when the specified coupon is retrieved. */ export declare function get(payload: object): RequestOptionsFactory; /** * Deletes a coupon. * * The `deleteCoupon()` function returns a Promise that resolves when the specified coupon is deleted. */ export declare function _delete(payload: object): RequestOptionsFactory; /** * Retrieves a list of up to 100 coupons with pagination and filters. * * The `queryCoupons()` function returns a Promise that resolves when the coupons are retrieved. */ export declare function query(payload: object): RequestOptionsFactory; /** * Deletes the specified coupons. * * The `bulkDeleteCoupons()` function returns a Promise that resolves when the coupons are deleted. */ export declare function bulkDeleteCoupons(payload: object): RequestOptionsFactory; /** * Creates multiple coupons. * * The `bulkCreateCoupons()` function returns a Promise that resolves when the coupons are created. */ export declare function bulkCreateCoupons(payload: object): RequestOptionsFactory;