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

import * as z from "zod/v4-mini";

export type CustomersDeleteRequest = {
  /**
   * The customer ID.
   */
  id: string;
  /**
   * If true, also anonymize the customer's personal data for GDPR compliance. This replaces email with a hashed version, hashes name and billing name (name preserved for businesses with tax_id), clears billing address, and removes OAuth account data.
   */
  anonymize?: boolean | undefined;
};

/** @internal */
export type CustomersDeleteRequest$Outbound = {
  id: string;
  anonymize: boolean;
};

/** @internal */
export const CustomersDeleteRequest$outboundSchema: z.ZodMiniType<
  CustomersDeleteRequest$Outbound,
  CustomersDeleteRequest
> = z.object({
  id: z.string(),
  anonymize: z._default(z.boolean(), false),
});

export function customersDeleteRequestToJSON(
  customersDeleteRequest: CustomersDeleteRequest,
): string {
  return JSON.stringify(
    CustomersDeleteRequest$outboundSchema.parse(customersDeleteRequest),
  );
}
