import * as z from "zod/v4-mini"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { Address, Address$Outbound } from "./address.js"; import { CustomerType } from "./customertype.js"; import { MetadataOutputType, MetadataOutputType$Outbound } from "./metadataoutputtype.js"; import { TaxIDFormat } from "./taxidformat.js"; export type TaxId = string | TaxIDFormat; export type SubscriptionCustomer = { /** * The ID of the customer. */ id: string; /** * Creation timestamp of the object. */ createdAt: Date; /** * Last modification timestamp of the object. */ modifiedAt: Date | null; metadata: { [k: string]: MetadataOutputType; }; /** * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. */ externalId?: string | null | undefined; /** * The email address of the customer. This must be unique within the organization. */ email?: string | null | undefined; /** * Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. */ emailVerified: boolean; type: CustomerType; /** * The name of the customer. */ name: string | null; billingAddress: Address | null; taxId: Array | null; locale?: string | null | undefined; /** * The ID of the organization owning the customer. */ organizationId: string; /** * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. */ defaultPaymentMethodId?: string | null | undefined; /** * Timestamp for when the customer was soft deleted. */ deletedAt: Date | null; avatarUrl: string; }; /** @internal */ export declare const TaxId$inboundSchema: z.ZodMiniType; /** @internal */ export type TaxId$Outbound = string | string; /** @internal */ export declare const TaxId$outboundSchema: z.ZodMiniType; export declare function taxIdToJSON(taxId: TaxId): string; export declare function taxIdFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const SubscriptionCustomer$inboundSchema: z.ZodMiniType; /** @internal */ export type SubscriptionCustomer$Outbound = { id: string; created_at: string; modified_at: string | null; metadata: { [k: string]: MetadataOutputType$Outbound; }; external_id?: string | null | undefined; email?: string | null | undefined; email_verified: boolean; type: string; name: string | null; billing_address: Address$Outbound | null; tax_id: Array | null; locale?: string | null | undefined; organization_id: string; default_payment_method_id?: string | null | undefined; deleted_at: string | null; avatar_url: string; }; /** @internal */ export declare const SubscriptionCustomer$outboundSchema: z.ZodMiniType; export declare function subscriptionCustomerToJSON(subscriptionCustomer: SubscriptionCustomer): string; export declare function subscriptionCustomerFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=subscriptioncustomer.d.ts.map