/* * 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 { GroupedInvoicingChildRequest, GroupedInvoicingChildRequest$Outbound, GroupedInvoicingChildRequest$outboundSchema, } from "./grouped-invoicing-child-request.js"; export type SubscriptionInheritanceConfig = { /** * ExternalCustomerIDsToInheritSubscription creates inherited skeleton subscriptions for child customers. Parent only. */ externalCustomerIdsToInheritSubscription?: Array | undefined; groupedInvoicingChildrenToCreate?: | Array | undefined; /** * InvoicingCustomerExternalID routes invoices to a different customer. Required for delegated; rejected for inherited. */ invoicingCustomerExternalId?: string | undefined; /** * ParentSubscriptionID links to an existing parent. Required for inherited/grouped_invoicing; rejected for standalone/delegated/parent. */ parentSubscriptionId?: string | undefined; /** * SubscriptionsIDsForGroupedInvoicing converts existing standalone subscriptions to grouped_invoicing under this parent. Parent only. */ subscriptionsIdsForGroupedInvoicing?: Array | undefined; }; /** @internal */ export type SubscriptionInheritanceConfig$Outbound = { external_customer_ids_to_inherit_subscription?: Array | undefined; grouped_invoicing_children_to_create?: | Array | undefined; invoicing_customer_external_id?: string | undefined; parent_subscription_id?: string | undefined; subscriptions_ids_for_grouped_invoicing?: Array | undefined; }; /** @internal */ export const SubscriptionInheritanceConfig$outboundSchema: z.ZodMiniType< SubscriptionInheritanceConfig$Outbound, SubscriptionInheritanceConfig > = z.pipe( z.object({ externalCustomerIdsToInheritSubscription: z.optional(z.array(z.string())), groupedInvoicingChildrenToCreate: z.optional( z.array(GroupedInvoicingChildRequest$outboundSchema), ), invoicingCustomerExternalId: z.optional(z.string()), parentSubscriptionId: z.optional(z.string()), subscriptionsIdsForGroupedInvoicing: z.optional(z.array(z.string())), }), z.transform((v) => { return remap$(v, { externalCustomerIdsToInheritSubscription: "external_customer_ids_to_inherit_subscription", groupedInvoicingChildrenToCreate: "grouped_invoicing_children_to_create", invoicingCustomerExternalId: "invoicing_customer_external_id", parentSubscriptionId: "parent_subscription_id", subscriptionsIdsForGroupedInvoicing: "subscriptions_ids_for_grouped_invoicing", }); }), ); export function subscriptionInheritanceConfigToJSON( subscriptionInheritanceConfig: SubscriptionInheritanceConfig, ): string { return JSON.stringify( SubscriptionInheritanceConfig$outboundSchema.parse( subscriptionInheritanceConfig, ), ); }