/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import * as z from "zod/v4-mini";
import {
  DiscountFixedCreate,
  DiscountFixedCreate$Outbound,
  DiscountFixedCreate$outboundSchema,
} from "./discountfixedcreate.js";
import {
  DiscountPercentageCreate,
  DiscountPercentageCreate$Outbound,
  DiscountPercentageCreate$outboundSchema,
} from "./discountpercentagecreate.js";

export type DiscountCreate = DiscountFixedCreate | DiscountPercentageCreate;

/** @internal */
export type DiscountCreate$Outbound =
  | DiscountFixedCreate$Outbound
  | DiscountPercentageCreate$Outbound;

/** @internal */
export const DiscountCreate$outboundSchema: z.ZodMiniType<
  DiscountCreate$Outbound,
  DiscountCreate
> = z.union([
  DiscountFixedCreate$outboundSchema,
  DiscountPercentageCreate$outboundSchema,
]);

export function discountCreateToJSON(discountCreate: DiscountCreate): string {
  return JSON.stringify(DiscountCreate$outboundSchema.parse(discountCreate));
}
