import * as z from "zod/v4-mini";
import { ServiceGroupAccountAndServiceLevel, ServiceGroupAccountAndServiceLevel$Outbound } from "./servicegroupaccountandservicelevel.js";
import { ServiceGroupTypeEnum } from "./servicegrouptypeenum.js";
export type ServiceGroupCreateRequest = {
/**
* Description for the service group
*/
description: string;
/**
* String representation of an amount to be returned as the flat rate
*
* @remarks
* if 1. The service group is of type `LIVE_RATE` and no matching rates
* were found; or 2. The service group is of type `FLAT_RATE`. Either
* integers or decimals are accepted. Required unless type is
* `FREE_SHIPPING`
*/
flatRate?: string | undefined;
/**
* required unless type is `FREE_SHIPPING`. (ISO 4217 currency)
*/
flatRateCurrency?: string | undefined;
/**
* optional unless type is `FREE_SHIPPING`. (ISO 4217 currency)
*/
freeShippingThresholdCurrency?: string | undefined;
/**
* For service groups of type `FREE_SHIPPING`, this field must be required to configure the minimum
*
* @remarks
* cart total (total cost of items in the cart) for this service group to be returned for rates at
* checkout. Optional unless type is `FREE_SHIPPING`
*/
freeShippingThresholdMin?: string | undefined;
/**
* Name for the service group that will be shown to customers in the response
*/
name: string;
/**
* The amount in percent (%) that the service group's returned rate should be adjusted. For example, if this field is set to 5 and the matched rate price is $5.00, the returned value of the service group will be $5.25. Negative integers are also accepted and will discount the rate price by the defined percentage amount.
*/
rateAdjustment?: number | undefined;
/**
* The type of the service group.
*
* @remarks
* `LIVE_RATE` - Shippo will make a rating request and return real-time rates for the shipping group, only falling back to the specified flat rate amount if no rates match a service level in the service group.
* `FLAT_RATE` - Returns a shipping option with the specified flat rate amount.
* `FREE_SHIPPING` - Returns a shipping option with a price of $0 only if the total cost of items exceeds the amount defined by `free_shipping_threshold_min`
*/
type: ServiceGroupTypeEnum;
serviceLevels: Array;
};
/** @internal */
export type ServiceGroupCreateRequest$Outbound = {
description: string;
flat_rate?: string | undefined;
flat_rate_currency?: string | undefined;
free_shipping_threshold_currency?: string | undefined;
free_shipping_threshold_min?: string | undefined;
name: string;
rate_adjustment?: number | undefined;
type: string;
service_levels: Array;
};
/** @internal */
export declare const ServiceGroupCreateRequest$outboundSchema: z.ZodMiniType;
export declare function serviceGroupCreateRequestToJSON(serviceGroupCreateRequest: ServiceGroupCreateRequest): string;
//# sourceMappingURL=servicegroupcreaterequest.d.ts.map