/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { ProductPriceSeatTier, ProductPriceSeatTier$Outbound, ProductPriceSeatTier$outboundSchema, } from "./productpriceseattier.js"; import { SeatTierType, SeatTierType$outboundSchema } from "./seattiertype.js"; /** * List of pricing tiers for seat-based pricing. * * @remarks * * The minimum and maximum seat limits are derived from the tiers: * - minimum_seats = first tier's min_seats * - maximum_seats = last tier's max_seats (None for unlimited) */ export type ProductPriceSeatTiersInput = { seatTierType?: SeatTierType | undefined; /** * List of pricing tiers */ tiers: Array; }; /** @internal */ export type ProductPriceSeatTiersInput$Outbound = { seat_tier_type?: string | undefined; tiers: Array; }; /** @internal */ export const ProductPriceSeatTiersInput$outboundSchema: z.ZodMiniType< ProductPriceSeatTiersInput$Outbound, ProductPriceSeatTiersInput > = z.pipe( z.object({ seatTierType: z.optional(SeatTierType$outboundSchema), tiers: z.array(ProductPriceSeatTier$outboundSchema), }), z.transform((v) => { return remap$(v, { seatTierType: "seat_tier_type", }); }), ); export function productPriceSeatTiersInputToJSON( productPriceSeatTiersInput: ProductPriceSeatTiersInput, ): string { return JSON.stringify( ProductPriceSeatTiersInput$outboundSchema.parse(productPriceSeatTiersInput), ); }