import { ShippingOptionDTO } from "../../fulfillment"; import { RuleOperatorType } from "../../common"; type CreateFlatRateShippingOptionPriceRecord = { currency_code: string; amount: number; } | { region_id: string; amount: number; }; /** * The details of the shipping option to create. */ type CreateFlatShippingOptionInputBase = { /** * The name of the shipping option. */ name: string; /** * The ID of the service zone the shipping option belongs to. */ service_zone_id: string; /** * The ID of the shipping profile the shipping option belongs to. */ shipping_profile_id: string; /** * Custom data that's necessary for the shipping option's fulfillment provider. * Learn more about this property in [this documentation](https://docs.medusajs.com/resources/commerce-modules/fulfillment/shipping-option#data-property). */ data?: Record; /** * The ID of the shipping option's fulfillment provider. */ provider_id: string; /** * The type of the shipping option. */ type: { /** * The label of the shipping option type. */ label: string; /** * The description of the shipping option type. */ description: string; /** * The code of the shipping option type. */ code: string; }; /** * The rules that determine when the shipping option is available. */ rules?: { /** * The attribute to match against. * @example * customer_group */ attribute: string; /** * The operator to use when matching the attribute. * * @example * in */ operator: RuleOperatorType; /** * The value to match against. * * @example * cusgrp_123 */ value: string | string[]; }[]; }; /** * The data to create a flat-rate shipping option. */ type CreateFlatRateShippingOptionInput = CreateFlatShippingOptionInputBase & { /** * The type of the shipping option's price. */ price_type: "flat"; /** * The prices for the shipping option. Only required if the price type is `flat`. */ prices: CreateFlatRateShippingOptionPriceRecord[]; }; /** * The data to create a calculated shipping option. */ type CreateCalculatedShippingOptionInput = CreateFlatShippingOptionInputBase & { /** * The type of the shipping option's price. */ price_type: "calculated"; }; /** * The data to create a flat rate or calculated shipping option. */ export type CreateShippingOptionsWorkflowInput = CreateFlatRateShippingOptionInput | CreateCalculatedShippingOptionInput; /** * The created shipping options. */ export type CreateShippingOptionsWorkflowOutput = ShippingOptionDTO[]; export {}; //# sourceMappingURL=create-shipping-options.d.ts.map